[SQLServer]函数

一. 日期时间函数

/*
datepart:
MS MilliSecond
SS,S Second
MI,N Minute
HH Hour
DW,W Weekday
WK,WW Week
DD,D Day
DY,Y Day of Year
MM,N Month
QQ,Q Quarter
YY,YYYY Year
*/
--dateadd(datepart, number, date)添加或减少一个时间值
SELECT DATEADD(HH,2,GETDATE())--在当前时间上加两个小时
SELECT DATEADD(MS,-2000,GETDATE())--在当前时间上减2000毫秒

--datediff(datepart, startdate, enddate)计算两个时间之间的差,若为负说明
--enddate早于startdate
SELECT DATEDIFF(HH,GETDATE(),GETDATE()-1) --(-24)

--datename(datepart, datetoinspect)返回日期中名称的部分
SELECT DATENAME(DW,GETDATE()) --获得当前时间的月份部分(Monday)

--datepart(datepart, datetoinspect)从日期中返回部分日期
SELECT DATEPART(DW,GETDATE()) --结果为2(即星期一)

--getdate()
SELECT GETDATE() -- 获得当前日期和时间





二. 字符函数


--ASCII() 将单个字符转换成相应的ASCII码,多个字符则返回第一个
SELECT ASCII('a') --97

--CHAR()将数字转换成字符,与ASCII相反,数字若大于255,返回NULL
SELECT CHAR(100) --d

--LEFT(str,n)返回字符串最左边的n个字符
SELECT LEFT('aEdsas',3) --aEd

--LOWER(str)将字符串转化为小写
SELECT LOWER('AdDREsS') --address

--LTRIM(str)清除字符串左边的空格
SELECT LTRIM(' att ') + 'ab' --att ab

--RIGHT(str,n)返回字符串最右边的n个字符
SELECT RIGHT('aEdsas',3) --sas

--RTRIM(str)清除字符串右边的空格
SELECT 'ab' + RTRIM(' att ') + 'ab' --ab attab

--STR(88)将数值转化为可变化字符串
SELECT 'A' + LTRIM(STR(88)) --A88

--SUBSTRING(str, startPosition, n) 从startPosition开始截取n个字符
--串,position从1开始
SELECT SUBSTRING('ABCDEFG',2,3) --BCD

--UPPER(str)转大写
SELECT UPPER('aBcDeFg') --ABCDEFG



三.系统函数



--CASE WHEN... THEN... ELSE...END 对条件进行测试
SELECT CASE WHEN FLOOR(RAND(10)*10)=1 THEN 'A'
WHEN FLOOR(RAND(10)*10)=7 THEN 'B'
ELSE 'C' END

--CAST() / CONVERT()从一种数据类型转化为另一种数据类型,CONVERT更强
--数字与十进制之间转换使用CAST,否则将丢失精度
SELECT CAST(11 as VARCHAR(2))
SELECT CONVERT(VARCHAR(2),11)

--ISDATE()是否是一个有效的日期,1为true, 0为false
SELECT ISDATE(GETDATE())
SELECT ISDATE(1)

--ISNULL(value2test, if_null_value)
--测试value2test是否为null,若为null则使用if_null_value值
SELECT ISNULL(NULL,'a') --a


--ISNUMERIC(value)测试是否为数字,是返回1或true
SELECT ISNUMERIC('a') --0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值