--*************************字符串函数**********************
--charindex搜索第一个字符在第二个字符中的位置,返回一个数值
语法:
charindex(‘字符串1’,’字符串2’)
案例:获取“梦想”在字符串“赢在中国,梦想与未来”中的位置
select charindex('梦想','赢在中国,梦想与未来')
--len获取一个字符串的长度
语法:
len(‘字符串’)
案例:获取字符串“赢在中国,梦想与未来”的长度
select len('赢在中国,梦想与未来')
--upper把字符串中为小写英文的字符转化为大写英文,如果字符串中有汉字,并不会报错,不会执行转换
语法:upper(‘小写英文字符’)
案例:讲字符串“I hava a dream”转化为大写
select upper('i have a dream !,我有一个梦想!')
--ltrim清除字符串左边的空格,不会清除右边的空格
语法:
Ltrim(‘ 字符串’)
案例:清除字符串“ 赢在中国,梦想与未来”左边的空格
select ltrim(' 赢在中国,梦想与未来 ')
--rtrim清除字符串右边的空格,不会清除左边的空格
语法:
Rtrim(‘字符串 ’)
案例:清除字符串“赢在中国,梦想与未来 ”右边的空格
select rtrim(' 赢在中国,梦想与未来 ')
--函数是可以嵌套的,例如清除左右两边的空格
语法:
ltrim(rtrim(‘ 字符串 ’))
案例:清楚字符串“ 赢在中国,没想与未来 ”左右俩边的空格
select ltrim(rtrim(' 赢在中国,梦想与未来 '))
--right从字符串右边返回指定数目的字符
语法:
Right(‘字符串’,指定搜索字符的数目)
案例:从右边开始搜索出“未来”
select right('赢在中国,梦想与未来',2)
--replace替换一个字符串中的字符
语法:
Replace(‘字符串’,’被替换的字符’,’替换的字符’)
案例:把“赢在中国,梦想与未来”中的“与”用“和”代替
select replace('赢在中国,梦想与未来','与','和')
--stuff删除一个字符串中指定长度的字符,用其他任意字符来代替
语法:
Stuff(‘字符串’,从第几个字符开始删除,删除几个字符,’替换的字符’)
案例:删除赢在中国,换成让梦成真
select stuff('赢在中国,梦想与未来',1,4,'让梦成真')
--*****************************日期函数*******************
--getdate获取系统现在的时间
语法:
getdate()
案例:获取当前系统时间
select getdate()
--dateadd添加时间
语法:
Datedd(年/月/日/时/分/秒,添加多少,在什么时间段上添加)
案例:在系统时间的基础上添加两年
select dateadd(year,2,getdate())
--datediff求时间差,小时间在前,大时间在后
语法:
Datediff(年/月/日/时/分/秒,’小时间’,’大时间’)
案例:计算从‘1995-05-15’到现在过了多少个小时
select datediff(hour,'1995-05-15',getdate())
--datename指定日期部分的字符串形式,获取某时间是星期几
语法:
Datename(dw,getdate())
案例:获取今天是星期几
Select datename(ss, getdate())
--datepart获取指定日期部分的整数
语法:
Datepart(年/月/日,日期)
案例:获取现在系统时间下的月份
Select datepart(mm, getdate())
--*****************************数学函数*******************
--rand返回0-1之间的随机数
语法:
Rand()
案例:返回0-1之间的随机数
Select rand()
--abs取表达式的绝对值
语法:
abs(数值)
案例:取-4的绝对值
Select abs(-4)
--ceiling向上取整
语法:
Ceiling(数值)
案例:取49.001的整数
Select ceiling(49.001)
--floor向下取整
语法:
floor(数值)
案例:取49.999的整数
Select floor(49.999)
--power取表达式的幂值
语法:
power(数值,次方数)
案例:取5的三次方的值
Select power(5,3)
--round四舍五入
语法:
Round(数值,小数点后几位)
案例:49.501的四舍五入的值
Select round(49.501,1)
--sign整数返回1,负数返回-1,0返回0
语法:
Sign(数值)
案例:-2的返回值
Select sign(-2)
--sqrt 数值的平方根
语法:
Sqrt(数值)
案例:9的平方根
Select sqrt(9)
--*****************************系统函数*******************
--convert转化数据类型
语法:
Convert(数据类型,另一种数据类型值)
案例:把数字12345转化为字符串
Select convert(nvarchap(50),12345)
--*****************************聚合函数*******************
--sum()返回所有数值的总和,只能是数字类型
语法:
Sum(数字类型的列)
案例:计算score列的总和
Select sum(score)
From score
Where 1=1
--avg返回所有数值的平均数,只能是数字类型
语法:
Avg(数字类型的列)
案例:计算score列的平均数
Select avg(score)
From score
Where 1=1
--max()最大值和min()最小值,可以是数字类型,字符型,日期类型
语法:
Max(列名) min(列名)
案例:计算score列的最大值
Select max(score)
From score
Where 1=1
--count()计数函数,
语法:
Count(表达式)
案例:查询score表中的有多少条数据
Select count(score)
From score
Where 1=1
--1000到的随机数
select left(Rand()*8999+1000,4)