一些有用的SQL Server函数

字符串函数

select substring('abcde',3,2)

select upper('abCD123')

select lower('abCD123')

select ltrim('  abc')

select rtrim('    abc  ')

 

--将一个字符串插入到另一字符串。在插入新字符串时将从原来的字符串中删除指定长度的字符

--stuff(string, insertion position, delete count, string inserted)

select stuff('abcdef',3,2,'1234')

 

--Replace(source, search, replace)

select replace('abcd','cd','fe')

 

时间函数

--获取当前日期

select getdate()

--对日期进行减运算

select DateDiff(yy,'1984/5/20',GetDate())AS MarriedYears

--对日期进行加运算

select DateAdd(hh,100,GetDate()) AS [100HoursFromNow]

--返回datetime值的指定日期部分的整数值

select DatePart(DayofYear,GetDate())As DayCount

--从日期中获取年,月,日

select day('03/12/1998') as [Day] ,month('03/12/1998') as [Month], year('03/12/1998') as [Year]

 

数学函数

--求绝对值

select abs(-1),abs(0),abs(1)

--求正弦,余弦

select sin(1),cos(1)

--求幂

select power(2,3) as cube

--ROUND(numeric_expression , length [,function]),返回数字表达式并四舍五入为指定的长度或精度

-- length 为正数时,numeric_expression四舍五入为 length 所指定的小数位数。当length为负数时,--numeric_expression则按length所指定的在小数点的左边四舍五入。 

select round(46.533,2),round(562.5,-1)

 

SELECT FLOOR(12.9273)

 

SELECT CEILING(12.9273)

--求平方根

select sqrt(6.25)

--求平方

select square(5.5)

 

转换函数

select cast(getdate() as char(10))

select cast(1.5 as int)

 

--convert(data type, expression[style,])

select convert(char(10),getdate(),120)

 

Null函数

--ISNULL (<check_expression>, <replacement_value>)ISNULL() 函数将表达式中的NULL 值用指定值替换.

--如果check_expresssion 不是NULL, 则返回其原来的值,否则,返回replacement_value 的值.

select IsNull('NickName', 'none')

select IsNull(null,'none')

 

--NULLIF (<expression1>, <expression2>)

--它在expression1 expression2 相等时返回NULL ,若不相等时则返回expression1 的值.

select nullif('abc','sql')

select nullif('a','a')

 

--COALESCE()函数返回众多表达式中第一个非NULL 表达式的值。如果所有的表达式均为NULL,COALESCE() 函数返回NULL

select coalesce(null,'abe',null)

select coalesce('a',null)

posted @ 2006-07-14 21:24  stu_acer  阅读(1513)  评论(0编辑  收藏  举报