Microsoft SQL Server中提供了许多内置函数,常用内置函数分为字符串函数、日期函数、数学函数、转换函数。进行查询操作时,能够用到SQL函数,使用SQL函数会给查询带来很多的方便。
1.字符串函数
1.charindex:返回字符或者字符串在另一个字符串中的起始位置。
语法:charindex('目标字符串',用于被查找的字符串',开始查找的位置)2.len:返回字符串的长度
语法:len('值')3.lower:将指定的字符串转换为小写
语法:lower('值')4.upper:将指定的字符串转换大写
语法:upper('值')5.ltrim:清除字符串左边的空格
语法:ltrim('值')6.rtrim:清除字符串右边的空格
语法:rtrim('值')7.right、left:从字符串右边/左边返回指定书目的字符
语法:left('字符串',返回长度)8.replace:字符串替换
语法:replace('字符串','要替换的字符','替换后的值')
select charindex('e','helloWorld,zz is nice man');
select charindex('e','helloWorld,zz is nice man',1);
select charindex('e','helloWorld,zz is nice man',5);
select ascii('a');
select char(97);
select upper('zz is a nice man');
select lower('ZZ is a nice man');
select 'helloworld ZZ'
select left('helloworld ZZ',5);
select right('ZZ' ,1)
select substring('hahaheheenen',2,5);--
select replace('zz is a nice man','zz','唐宇');
select ' zking'
select ltrim(' zking');
select 'zking '
select rtrim('zking ');
select len('中国');--字符
select datalength('中国');
select datalength('helloworld ')
select datalength(rtrim('helloworld '))
2.日期函数
1.getdate():取得当前的系统时间
2.dateadd():在向指定日期加上一段时间的基础上,返回新的datetime值
语法:dateadd(dd,3,'日期')3.datediff():返回两个日期之间的差
语法:datediff(dd,'日期','日期')4.datename:返回代表指定日期的指定日期部分的字符串
语法:datename(param,'日期') param:year,month,weekday5.datepart 返回代表指定日期的指定日期部分的整数。
select DATEPART(MONTH,'日期');6.year/month/day:日期指定年,月 ,日
select getdate();
select dateadd(YY,3,'2020-12-12');--添加指定的年份
select dateadd(MM,5,'2019-1-1');--添加指定的月份
select dateadd(DD,20,'2020-12-16');--添加指定的天数
select datediff(YY,'2018-2-2','2020-3-4');--相差的年份
select datediff(MM,'2018-2-2','2020-3-4');--相差的年份
select datediff(DD,'2018-2-2','2020-3-4');--相差的天数
select datename(YY,'2020-12-12');--当前的年份
select datepart(YY,'2020-12-12');
select year('2020-12-12');
select month('2020-12-12');
select day('2020-12-12');
3.数学函数
1. abs():取数值表达式的绝对值
2. ceilng():返回大于或等于所给数字表达式的最小整数
3. floor:取小于或等于指定表达式的最大整数
4. power(值,值):取数值表达式的幂值
5. round():将数值表达式四舍五入为指定精度
6. sign:对于正数返回+1,对于负数返回-1,对于0 则返回0
7. sqrt:取浮点表达式的平方根
--1.abs:绝对值
select abs(-1);
--2.ceiling向上取整
select ceiling(12.0001);
--3.floor向下取整
select floor(12.99999);
--4.round:四舍五入
select round(12.666,1);
--5.power 求幂
select power(2,10);
--6.sign():判断是否为正负数或者是0
select sign(-10);--负数:-1
select sign(10);--正数:1
select sign(0);--0:0
--7.sqrt():平方根
select sqrt(4);
4.转换函数
cast(值 as 数据类型)
convert(数据类型,值)
--convert:类型转换
select 1+1;
select 1+'1'
select 1314+'我爱你';
--在将 varchar 值 '我爱你' 转换成数据类型 int 时失败。
select convert(varchar,1314)+'我爱你'
--cast:类型转型
select cast(1314 as varchar) +'我爱你中国';