数据库(四)

字符串函数 
1、ASCII--返回字符串的首字母ascii编码
select ASCII(name) from haha
select *from haha where ASCII(name)>200
2、--将ascii代码转换成对应的字符
select CHAR(100)
select CHAR(age) from haha
3、--查找字符串,返回符合条件的首字母的索引,索引从1开始
select CHARINDEX('efg','abcdefghijklmnopqrstuvwxyz')
select CHARINDEX('199',cid) from haha
4、--字符串拼接
select 'abc'+'def'+'ghi'+……
5、--返回相似度
select DIFFERENCE('abcdefghijklmn','abcde')
6、--从左往右截取字符串指定长度
select LEFT ('abcdef',3)
7、--返回字符串长度,后面的空格不算
select LEN(' abcd ')
8、--转换为小写
select LOWER('ABCdefgHIG')
9、--去除左边空格,也就是字符串的前面空格,相当于.net中的trimstart
select LTRIM(' cccccccc d ')
10、--查找字符串返回索引,功能等同于charindex
select PATINDEX('%gh%','abcdefghijklmn')
11、--替换,第一个参数是目标字符串,第二个参数是要替换的目标字符段,第三个参数是替换后的内容
select REPLACE(cid,'606','103') from haha
12、--复制,且能够复制0~n次,相当于先剪切再复制的过程
select REPLICATE('abc',3)
13、--翻转字符串
select REVERSE('abcdefghijklmnopqrstuvwxyz')
select REVERSE(name) from haha
14、--从右往左截取字符串指定长度
select RIGHT('abcdefg',3)
15、--去右边的空格
select RTRIM(' abc d ')
16、--打印空格,参数代表空格个数
select 'a'+SPACE(10)+'b'
17、--将一个小数转换为字符串,第一个参数是小数的源数据,第二个参数是字符串的长度,第三个参数是截取小数点后几位
select STR(2131.23232,6,1)
18、--删除指定索引位置开始的指定长度的字符,之后在指定索引处插入指定字符,第一个参数是原始字符串,第二个参数是索引开始位置,第三个参数是指定删除的长度,第四个参数是指定插入的字符串
select STUFF('abc123',4,0,'helloworld')
19、--从指定索引处截取指定长度的字符串
select SUBSTRING(cid,7,8) from haha
20、--转换为大写
select UPPER('abcdefg')

日期和时间函数
1、--系统常量,直接返回一个值
select @@DATEFIRST
2、--给指定加入一个时间段
select DATEADD(year,2,'2006-07-31')
3、--求时间差,可以指定类型来算
select DATEDIFF(DAY,'2011-07-18','2014-06-02')
4、--返回某个时间值里面,你想要得到的某块类型的数,比如:年,月,日,时,分,秒,都可以单独获取
select DATENAME(YEAR,'2013-05-06')
5、--等同于datename,区别在于datepart返回的是int类型,datename返回的是字符串型
select DATEPART(YEAR,'2014-11-02')
6、--返回日期中的时间是当月的哪一天,返回int值
select DAY('2014-11-22')
7、--获取当前数据库所在服务器的日期时间
select GETDATE() as 普通
8、--判断是否是时间日期,如果正确返回1,如果错误返回0
select ISDATE('2013-02-22')
9、--去时间值里面的月份
select MONTH('2014-11-02')
10、--获取当前系统时间
select SYSDATETIME()
11、--获取时间的年份
select YEAR('2014-11-02')

类型转换,转换函数
1、CAST
select CAST(123 as varchar(20))
select CAST(1.23 as int)
select CAST(123 as decimal(18,2))
select CAST('12.3' as decimal(18,2))
2、CONVERT
--前面写数据类型,后面跟数据
select CONVERT(int,'123')

原文地址:https://www.cnblogs.com/mxx0426/p/4069324.html