常用Sql 整理

Sql Server查询库中全部表

查询SQL如下:
SELECT NAME from SYSOBJECTS WHERE XTYPE=‘U’ ORDER BY NAME

可通过字符串拼接到一个字段里用逗号分隔:
SELECT stuff((select ‘,’+NAME from SYSOBJECTS WHERE XTYPE=‘U’ ORDER BY NAME for xml path(’’)),1,1,’’)

读取指定表的所有列名:
select name from syscolumns where id=(select max(id) from sysobjects where xtype=‘u’ and name=‘表名’)

–查询字段指定字符前面的字符串
select substring(name,CHARINDEX(’|’,name)+1,LEN(name)) from table where name like ‘%|%’

–查询字段指定字符后面的字符串
select substring(name,1,CHARINDEX(’#’,name)-1) from table where name like ‘%#%’

–sql语句将多个空格字符替换成一个空格字符
SELECT REPLACE(REPLACE(
  REPLACE(
  REPLACE(
  LTRIM(RTRIM(name)),
  ’ ‘,’ ‘+’#’), --把两个空格替换成一个空格加上特殊符号#(’ #’)
  ‘#’+’ ‘,’’), --把特殊符号和一个空格(’# ‘)替换成无’’
  ‘#’,’’),’ ‘,’|’) AS NewString --如果空格总数是偶数,则最后会多一个特殊符号#,此时把#替换成无
FROM table

–去除字段:HourseTitle重复的数据 按HourseID排序 只留第一条
DELETE Hourse WHERE HourseID NOT IN(
SELECT HourseID FROM(
SELECT P.*,ROW_NUMBER() OVER (PARTITION BY P.HourseTitle,HourseAddress ORDER BY P.HourseID DESC) AS RowNum
FROM Hourse P
) A
WHERE RowNum = 1
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值