SQL 的 or注意事项 要正确使用括号


select c_gcode,c_barcode,c_name,c_price_disc,c_price,c_status from tb_gds where ( c_price like '%._[1,2,3,4,5,6,7,8,9]%' or c_price_disc like '%._[1,2,3,4,5,6,7,8,9]%' )and c_weigh='否' and c_stat...

使用 RAISERROR


使用 RAISERROR 与 PRINT 相比,RAISERROR 在把消息返回给应用程序方面的功能更强大。RAISERROR 能以下列方式中的任意一种返回消息: 已通过 sp_addmessage 系统存储过程添加到 master.dbo.sysmessages 上的由用户定义的错误信息。 在 RAISERROR 语句中指定的消息字符串。 RAISERROR 也有 PRI...

清除数据库里面所有用户表的数据


declare @name varchar(8000) declare cursor_a cursor for select name from sysobjects where xtype='U' open cursor_a fetch next from cursor_a into @name while @@fetch_status=0 begin e...

len和datalength区别小记


len 主要计算的是字符数量,比如’aabbc’是6个字符,那么’钓鱼岛是中国的’是7个字符,么’钓鱼岛是中国的aabbcc’就是13个字符, 而datalength主要计算的是字节数,注意是字节,一个汉字是2个字节哦,字母是1个字节哦,那么’钓鱼岛是中国的’就是14个字节了,对吧,’钓鱼岛是中国的aabbcc’就是14字节加6字节等于20字节了。

按 自定义时间汇总数据。如按半个小时 20分钟。。。


drop table tb create table tb(时间 datetime , 金额 int) insert into tb values('2007-1-1 10:00:23' , 8 ) insert into tb values('2007-1-1 10:01:24' , 4 ) insert into tb values('2...

一个 SQL 分段排序的问题(也可以理解为 段内汇总排序问题)


我现有一表名为: product1,字段内容如下: productID productName price num 101 商品1 2.15 2 112 商品2 5.5 5 203 商品3 4.15 8 101 商品1 2.15 5 一个表为product2,字段内容如下...

SQL for xml path 应用 很详细


SQL Server FOR XML PATH 语句的应用 经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法。 在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。 DECLARE @TempTable table(UserID int , UserName nvarchar(5...

简单计算 2个日期 相差的 天数 和 小时数


//简单计算 2个时间 相差的 天数 和 小时数 declare @time1 datetime declare @time2 datetime set @time1='2012-03-19' set @time2=GETDATE() select LTRIM(DATEDIFF(dd,@time1,@time2))+'天'+LTRIM(DATEDIFF(hh,@ti...

一个简单的 用row_number() over 限定 更新的例子


如果表中没有很好的列 来确定 唯一行,不防用一下这个 方法 还是比较精准的 update db set a=11111 from (select row_number() over ( order by a) as id ,a from #b) as db where id=2

一个简单的 分组 计算组内记录数占比的 语句


select b as 标识,COUNT(*) AS 数量,(select COUNT(*) from num) as 总数量,(ltrim(cast(count(*)*100./nullif((select count(*) from num),0) as decimal(12,2)))+'%') as 占比 from num group by b order by 数量