《SqlServer 系列》 - 函数

数学函数

-- 绝对值
select abs(-3.14);
-- 随机数
select rand();--0-1之间
select rand(2);--只产生一次,继续运行不变
-- 四舍五入
select round(1.5555,2);--四舍五入:1.5600
select ceiling(1.1);--舍入到最大整数:2
select floor(1.9);--舍入到最小整数:1
-- 三角函数
select sin(1);--正弦
select cos(1);--余弦
select tan(1);--正切
select asin(1);--反正弦
select acos(1);--反余弦
select atan(1);--反正切
select tan2(1,1),atan(1);--反正切
select cat(1);--余切
-- 圆周率
select pi();
-- 角度制与弧度制
select degrees(1),1*180/pi();--弧度制转角度制:角度制=弧度制*100/π
select radians(1),1*pi()/180;--角度制转弧度制:弧度制=角度制*π/180
-- 求一个数的运算符号
select sign(-3.14),sign(3.14);大于0返回1;小于0返回-1
-- 两个数相除
select 7/3;--2
select 7%3;--1
-- 指数与平方根
select power(2,3);--8
select sqrt(16);--4

字符串函数

-- 字符串的长度
select len('Kimisme')
-- 大小写转换
select lower('JACK');
select upper('rose');
-- 字符串去空格
select ltrim('   love');
select rtrim('love   ');
select ltrim(rtrim('   love   '));
-- 字符串截取
select left('abcdefg',3);--abc
select right('abcdefg',3);--efg
select substring('abcdefg',3,2);--cd
-- 字符串替换
select replace('Hello,World','World','Python');
-- 字符串转义
select ascii('a');--97
select char(97);--a
-- 字符串出现位置
select charindex('m','kimisme');--3
-- 反转字符串
select reverse('abc');--cba

日期函数

日期格式化

-- 获取当前时间
select getdate();--2015-08-11 20:25:30.973
-- 日期格式化
select convert(varchar(50),getdate(),101)  --08/11/2015
select convert(varchar(50),getdate(),102)  --2015.08.11
select convert(varchar(50),getdate(),103)  --11/08/2015
select convert(varchar(50),getdate(),104)  --11.08.2015
select convert(varchar(50),getdate(),105) --11-08-2015
select convert(varchar(50),getdate(),106) --11 08 2015
select convert(varchar(50),getdate(),107) --08 11, 2015
select convert(varchar(50),getdate(),108)  --20:26:11
select convert(varchar(50),getdate(),109) --08 11 2015 10:53:15:397PM
select convert(varchar(50),getdate(),110) --08-11-2015
select convert(varchar(50),getdate(),111) --2015/08/11
select convert(varchar(50),getdate(),112)  --20150811
select convert(varchar(50),getdate(),113) --11 08 2015 22:52:17:143
select convert(varchar(50),getdate(),114) --22:53:45:847
select convert(varchar(50),getdate(),120)  --2015-08-11 22:45:34
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --20150811225416

日期差额

select dateadd(year,3,'2015-08-11 20:25:30.973') --2018-08-11 20:25:30.973 --年
select dateadd(quarter,1,'2015-08-11 20:25:30.973') --2015-11-11 20:25:30.973--季度
select dateadd(month,3,'2015-08-11 20:25:30.973') --2015-11-11 20:25:30.973--月份
select dateadd(day,3,'2015-08-11 20:25:30.973') --2015-08-14 20:25:30.973 -- 日
select dateadd(hour,3,'2015-08-11 20:25:30.973') --2015-08-11 23:25:30.973 -- 小时
select dateadd(minute,3,'2015-08-11 20:25:30.973') --2015-08-11 20:28:30.973 --分
select dateadd(second,3,'2015-08-11 20:25:30.973') --2015-08-11 20:25:33.973 --秒
select dateadd(millisecond,3,'2015-08-11 20:25:30.973') --2015-08-11 20:25:30.977 --毫秒

日期的其他操作

-- 计算两个日期相差几天
select datediff(day,'2015-08-11','2015-08-14') -- 3
-- 计算一个日期是星期几
select datename(weekday,'2015-08-11') --星期二
-- 获取日期的指定部分
select datepart(year,'2015-08-11') – 2015
select datepart(month,'2015-08-11') – 8
select datepart(day,'2015-08-11') – 11

 

转载于:https://my.oschina.net/kimisme/blog/1602444

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值