--按地区统计前10名地区人数
select top 10 province, COUNT(id) tcount from UserFollowerCz group by province order by tcount desc
-- 删除指定数据
delete from TableName where id=1
-- 删除整个表数据,完全清空,但不删除格式结构
truncate table TableName
-- 删除整个表,全部清空: 数据,格式,结构, 然后... 就没有然后了
drop table TableName
查询当天,最近三天,本周,本月,最近一个月,本季度的数据的sql语句
--当天
select * from T_news where datediff(day,addtime,getdate())=0
--最近三天
select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0
--本周
select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) =
DATEPART(yy, GETDATE()))
--注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数
--本月
select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime) =
DATEPART(mm, GETDATE()))
--最近一个月
select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))
AND ((DATEPART(mm, addtime) = DATEPART(mm, GETDATE())) OR (31-DATEPART(DD,addtime)+
DATEPART(DD, GETDATE()))<=31)
--本季度
select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime) =
DATEPART(yy, GETDATE())
替换语句 批量修改、增加、删除字段内容
sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符。
命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容')
如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'aa','bb')
举例说明:
1)把backupfile表里url的字段内容里为aa的字符全部改为bb。
update backupfile set url=REPLACE(url,'aaa','bbb)
2)根据条件增加字段的内容,如把file_number=1的记录的logical_name字段的内容前面加上tmp,后面加上end。
update backupfile set logical_name=REPLACE(logical_name,logical_name,'tmp'+logical_name+' end ') where file_number=1
3)根据条件去掉指定记录的前面2个字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,3,len(logical_name)-2))
where file_number=1
4)根据条件去掉指定记录的后面4个字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,1,len(logical_name)-4))
where file_number=2
如有不清楚的可以先用select语句验证是否达成自己想要的效果再进行替换:
SELECT REPLACE(替换字段,'原内容','新内容') from 表名;
update 表名 set 替换字段=(REPLACE(替换字段,'原内容','新内容'))
5) 批量新增数据,把A表数据批量查出并添加到A表中
insert into [dbo].[T_Channel_banklist](C_ID,Name,State) (select C_ID,Name,1 from [T_Channel_banklist]
where C_id=1101)
版权申明:本文地址
sql常用语句 定期更新,本博客所有文章除特别声明外,均属于原创,未经许可,请勿转载,请尊重博主的劳动成果!