分享几个项目中需要运用的sql server语句函数
1.增加或减少某时间函数:DateAdd(datepart,number,date)
datepart:时间类型
datepart 参数可以是下列的值:
datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
number:正数和负数 正数为加 负数为减
date:需处理的日期 getdate():当前日期函数
语句:
select DATEADD(mi, 2, getdate())
2.截取字符串:SUBSTRING ( expression, start, length )
expression:参数
start:开始位置(int)整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置,索引是从1开始。 可以为负数,但是没
有卵用
length :长度(int)
语句:
select SUBSTRING('123',1,1)
3.CHARINDEX ( expression1 , expression2 )
CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置
expression1 :字符串
expression2 :查找某字符串在expression1 字符串中的位置
语句:
select CHARINDEX('1','123')
注意:
通常项目中CHARINDEX()函数是与SUBSTRING()一起连用的比较多
语句:截取字符串asd12asd3 从1到3之间的字符串
select SUBSTRING('asd12asd3',CHARINDEX('1','asd12asd3'),CHARINDEX('3','asd12asd3'))
4.获取字符串长度 LEN(expression)
expression:预处理字符串
语句:
select LEN('AAA')
5.CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的
输出格式。
可以使用的 style 值:
Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
语句:
select CONVERT(VARCHAR(10),GETDATE(),110)
注意
通常项目中判断是否为同一天:
语句:CreatorTime 参数时间 判断是否为同一天
CONVERT(varchar(8),CreatorTime,112)=CONVERT(varchar(8),GETDATE(),112)
语句:CreatorTime 参数时间 判断CreatorTime延后30分钟是否大于现今时间 用于项目中间隔时间的判断
1.增加或减少某时间函数:DateAdd(datepart,number,date)
datepart:时间类型
datepart 参数可以是下列的值:
datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
number:正数和负数 正数为加 负数为减
date:需处理的日期 getdate():当前日期函数
语句:
select DATEADD(mi, 2, getdate())
2.截取字符串:SUBSTRING ( expression, start, length )
expression:参数
start:开始位置(int)整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置,索引是从1开始。 可以为负数,但是没
有卵用
length :长度(int)
语句:
select SUBSTRING('123',1,1)
3.CHARINDEX ( expression1 , expression2 )
CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置
expression1 :字符串
expression2 :查找某字符串在expression1 字符串中的位置
语句:
select CHARINDEX('1','123')
注意:
通常项目中CHARINDEX()函数是与SUBSTRING()一起连用的比较多
语句:截取字符串asd12asd3 从1到3之间的字符串
select SUBSTRING('asd12asd3',CHARINDEX('1','asd12asd3'),CHARINDEX('3','asd12asd3'))
4.获取字符串长度 LEN(expression)
expression:预处理字符串
语句:
select LEN('AAA')
5.CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的
输出格式。
可以使用的 style 值:
Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
语句:
select CONVERT(VARCHAR(10),GETDATE(),110)
注意
通常项目中判断是否为同一天:
语句:CreatorTime 参数时间 判断是否为同一天
CONVERT(varchar(8),CreatorTime,112)=CONVERT(varchar(8),GETDATE(),112)
语句:CreatorTime 参数时间 判断CreatorTime延后30分钟是否大于现今时间 用于项目中间隔时间的判断
CONVERT(varchar(19),DateAdd(mi,30,CreatorTime),120)>CONVERT(varchar(19),getdate(),120)
补充下sql server 串接字符串和正数相加
串接字符串:直接用+
语句 select 'a' + SUBSTRING('1',1,1)
正数加减乘除语句:
select LEN('AAA') + CHARINDEX('1','123')
select LEN('AAA') - CHARINDEX('1','123')
select LEN('AAA') * CHARINDEX('1','123')
select LEN('AAA')/CHARINDEX('1','123')
是不是有点逗-------------这语句