#sql server常使用函数总结
时间转字符串
select convert(varchar(100),GETDATE() ,20)
查询多个数据以逗号分隔
select stuff((select ‘,’+字段名 from 表名 for xml path(’’)),1,1,’’)
如果字段不为字符串类型,需要转换
select stuff((select ‘,’+cast(字段名 as varchar(100)) from 表名 for xml path(’’)),1,1,’’)
从第一个字符串开始查找定位一个字符所在的位置 (不区分大小写)
select charindex( ‘,’ , ‘12,34’, 1 ) =3
倒置函数
select REVERSE(‘现字符串倒置的一个功能’)=能功个一的置倒串符字现
计算长度
select len(‘1234567890’)=10
截取从第2位开始截取5位字符
select substring(‘001234567890’,2,5)=01234
截取前5位
select left(‘001234567890’,5)=00123
截取后5位
select RIGHT(‘001234567890’,5)=67890
结合上面的几个常用函数,可以实现各种截取
如:将一个字段分成两列
SELECT SUBSTRING(‘aa,bb’,0,CHARINDEX( ‘,’,‘aa,bb’, 1)) AS ‘a’,
substring(‘aa,bb’,CHARINDEX( ‘,’,‘aa,bb’, 1)-1,LEN(‘aa,bb’)) AS ‘b’
a | b |
---|---|
aa | bb |
要实现截取指定字符中的之前字符串或之后的字符串等等 都非常简单
sqlServer时间与字符串相互转换:https://blog.csdn.net/sunsloth/article/details/80913753
SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数):
https://www.cnblogs.com/huyadan/p/7891985.html