
SQLServer
hebbers
这个作者很懒,什么都没留下…
展开
-
SQLSERVER 存储过程分隔字符串的一种方法
思路:将传入的字符串进行分隔,然后写入一张临时表中,再通过查询(in)将数据获取。将分隔的字符串插入临时表#tbTemp中,通过t1.PROCESS_CD IN ( SELECT * from #tbTemp )获取数据create table #tbTemp ( strTemp VARCHAR(max) ) IF( @PROCESS_CD IS NOT NULL OR原创 2017-05-26 14:25:23 · 1993 阅读 · 0 评论 -
SQL charindex 通过id字符串获取数据
传入id集字符串,如:0001,0002,0003,0005 查询获取所需数据NOTICENOS:传入的id集select a.*, b.NOTICE_NO, d.NAME as CARD_STATUS_NAME from MES_PP_PROC_CARD aleft join MES_PP_NOTICE b on a.NOTICE_ID = b.NOTICE_IDjoin原创 2017-04-26 11:06:12 · 379 阅读 · 0 评论 -
SQL 求按日累计
实际开发的数据复杂,即使用网络查询到的数据及语句,主要记录思路方法。原数据年份 月份 销售日期 客户 产品 金额2013 12 2013-12-1 A1 P1 1002013 12 2013-12-25 A1 P1 2002013转载 2017-05-22 15:36:10 · 2961 阅读 · 0 评论 -
SQLServer 返回一个月的所有天数
select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) day from(select '2016-06'+'-01' day) t1,(select number from MASTER..spt_values WHERE TYPE='P' AND number>=0 and number<=31) t2where con转载 2017-05-22 16:26:23 · 1995 阅读 · 0 评论 -
从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
前端传入日期为“0001-01-01”系统报错"从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。"对应数据库字段类型为datetime原来datetime类型是有范围的各时间类型范围、精度一览表:数据类型 时间范围 精度datetime 1753-01-01到9999-12-31 00:00:00 到 23:59:59.99原创 2018-01-23 16:10:42 · 12924 阅读 · 0 评论 -
SQL-not exists翻页查询数据为空问题
今天做了个多表连接查询语句,前端有翻页功能,在最后一页时数据查询总是为空。翻页主要利用not exists来实现,经过反复排查,发现查询结果中利用翻页的主键ID会存在重复的情况,致使无法过滤出正确数据。最后通过增加一个“行号”字段解决该问题,即ROW_NUMBER() 方法,将该字段设为翻页主键即可。原始数据:标题问题翻页:标题解决方案:标题 ...原创 2018-10-17 16:58:43 · 788 阅读 · 0 评论