--数值函数
--上线值 ,整数不变,整数部分加1
select CEILING(6.5)
--下线值,整数不变,小数去掉
select floor (6.5)
--指数幂
select POWER(3,2)
--34: 整数 56:小数 1 四舍五入保留的位数
SELECT ROUND(34.56,1)
--产生随机数0~1
SELECT RAND(2)
select exp(123.4)
--取绝对值
SELECT ABS (-123)
--字符串
declare @a varchar(10)
set @a=' abcde '
--len不会计算尾部空格的长度
select LEN(@a)
--去空格
select LTRIM(' sasa ')
select rtrim(' saa ')
--全去空格
print LTRIM(rtrim(' s aa '))--=s aa不能去除中间的空格
-- 字符相加
print('asd'+'asd')
-- 在数字和字符串相加时,先将字符串转换成数字再进行相加计算 在sql中数字有高的优先级
print('22'+123)
--查找字符 查找的内容+范围+查找的起始位置 如果查寻超出查找范围返回值为0 c##返回-1
select CHARINDEX('d','sadfddd',3)
select CHARINDEX('a','sabdf')
--截取
--(内容,截取起始位置,截取位数)
print SUBSTRING(' AB CDEF ',0,5)
--起始位置可以小于零 c##里面可 --不会计算尾部长度
print SUBSTRING('ABCDEF',0,20)
--从左开始截取
select left('ABCDEF',7)
--从右开始截取
print right('ABCDEF',4)
--转换成小写
select LOWER('aASFD汉字')
--转化成小写(输入 车牌号(全是大写))
select UPPER('zxcvbnm')
--翻转()
select REVERSE('asdfg')
--替换
print REPLACE('QWERWTY','W',' ')
--返回左边第一个字母ascii码
select ASCII('i')
--一个汉字两个字节
select ASCII('字')
--ascii转成字符
select CHAR('99')
--获取当前时间()
declare @dt datetime
select @dt = getdate()
--获取当前时间
SELECT YEAR(@dt),MONTH(@dt),DAY(@dt)
--根据指定年月 进行加减
select DATEADD(YEAR,2,GETDATE())
select DATEADD(WK,2,GETDATE())
select DATEADD(DAY,2,GETDATE())
select YEAR(@dt),MONTH(@dt),DAY(@dt)
select DATEDIFF(YY,1,GETDATE()),DATEADD(YY,-1,GETDATE())