sql server 时间函数和一些基本函数

来源:互联网 发布:大国医郭三贴 淘宝网 编辑:程序博客网 时间:2024/04/30 10:05

日期和时间函数

函数名称

参数

示例

说明

dateadd

(日期部分,数字,日期)

select dateadd(year,45,'1990-12-11')

返回 2035-12-11 00:00:00.000

select dateadd(month,45,'1990-12-11')

返回1994-09-11 00:00:00.000

select dateadd(mm,45,'1990-12-11')

返回1994-09-11 00:00:00.000

select dateadd(qq,12,'1990-12-11')

返回1993-12-11 00:00:00.000

select dateadd(hh,12,'1990-12-11')

返回1990-12-11 12:00:00.000

select dateadd(yy,-12,'1990-12-11')

返回1978-12-11 00:00:00.000

返回给指定日期加上一个时间间隔后的新的日期值。

数字:用于与指定的日期部分相加的值。如果指定了非整数值,则将舍弃该值的小数部分,舍弃时不遵循四舍五入。

日期:指定的原日期

在此函数中 dw,dy,dd效果一样都表示天

datediff

(日期部分,开始日期,结束日期)

select datediff(yy,'1990-12-11','2008-9-10')

返回 18

select datediff(mm,'2007-12-11','2008-9-10')

返回 9

返回两个指定日期的指定日期部分的差的整数值。

在计算时由结束日期减去开始日期

在此函数中 dw,dy,dd效果一样都表示天

datename

(日期部分,日期)

select datename(mm,'2007-12-11')返回12

select datename(dw,'2007-12-11')返回星期二

select datename(dd, '2007-12-11')返回11

返回表示指定日期的指定日期部分的字符串。

dw表示一星期中星期几,wk表示一年中的第几个星期

dy表示一年中的第几天

datepart

(日期部分,日期)

select datepart(mm,'2007-12-11')返回12

select datepart(dw,'2007-12-11')返回3

select datepart(dd, '2007-12-11')返回11

返回表示指定日期的指定日期部分的整数。

wk表示一年中的第几个星期

dy表示一年中的第几天,

dw表示一星期中星期几,返回整数默认1为星期天

getdate

无参数

select getdate()

返回2009-04-28 18:57:24.153

返回当前系统日期和时间。

day

(日期)

select day('2007-12-11')返回11

返回一个整数,表示指定日期的天的部分。

等价于datepart(dd, 日期)

month

(日期)

select month('2007-12-11')返回12

返回一个整数,表示指定日期的月的部分。

等价于datepart(mm, 日期)

year

(日期)

select year('2007-12-11')返回2007

返回一个整数,表示指定日期的年的部分。

等价于datepart(yy, 日期)

getutcdate

无参数

select getutcdate()

返回2009-04-28 10:57:24.153

返回表示当前的 UTC(世界标准时间)时间。即格林尼治时间(GMT)

 

日期部分(指定要返回新值的日期的组成部分。下表列出了 Microsoft SQL Server 2005 可识别的日期部分及其缩写。)

日期部分

含义 

缩写

year

yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

天(请看函数中的说明)

dy, y

day

天(请看函数中的说明)

dd, d

week

星期

wk, ww

weekday

天(请看函数中的说明)

dw, w

hour

小时

hh

minute

分钟

mi, n

second

ss, s

millisecond

毫秒

ms

 

1.字符串函数
长度与分析用

datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格

substring(expression,start,length) 不多说了,取子串

right(char_expr,int_expr) 返回字符串右边int_expr个字符

字符操作类

upper(char_expr) 转为大写

lower(char_expr) 转为小写

space(int_expr) 生成int_expr个空格

replicate(char_expr,int_expr)复制字符串int_expr次

reverse(char_expr) 反转字符串

stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从

start开始的length个字符用char_expr2代替

ltrim(char_expr) rtrim(char_expr) 取掉空格


ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii吗取字符


字符串查找

charindex(char_expr,expression) 返回char_expr的起始位置

patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0


2.数学函数

abs(numeric_expr) 求绝对值

ceiling(numeric_expr) 取大于等于指定值的最小整数

exp(float_expr) 取指数

floor(numeric_expr) 小于等于指定值得最大整数

pi() 3.1415926.........

power(numeric_expr,power) 返回power次方

rand([int_expr]) 随机数产生器

round(numeric_expr,int_expr) 安int_expr规定的精度四舍五入

sign(int_expr) 根据正数,0,负数,,返回+1,0,-1

sqrt(float_expr) 平方根


3.日期函数

getdate() 返回日期

datename(datepart,date_expr) 返回名称如 June

datepart(datepart,date_expr) 取日期一部份

datediff(datepart,date_expr1.dateexpr2) 日期差

dateadd(datepart,number,date_expr) 返回日期加上 number

上述函数中datepart的

写法 取值和意义

yy 1753-9999 年份

qq 1-4 刻

mm 1-12 月

dy 1-366 日

dd 1-31 日

wk 1-54 周

dw 1-7 周几

hh 0-23 小时

mi 0-59 分钟

ss 0-59 秒

ms 0-999 毫秒


日期转换

convert()

 

4.系统函数

suser_name() 用户登录名

user_name() 用户在数据库中的名字

user 用户在数据库中的名字

show_role() 对当前用户起作用的规则


db_name() 数据库名

object_name(obj_id) 数据库对象名

col_name(obj_id,col_id) 列名

col_length(objname,colname) 列长度

valid_name(char_expr) 是否是有效标识符

 

原创粉丝点击