sql server 系统函数

2021-07-10  本文已影响0人  Vergil_wj

常用文本处理函数

select left('hello',2)  -- he
select right('hello',2)  -- lo
select len('hello')  -- 5
select lower('HELLO')  -- hello
select upper('hello')  -- HELLO
select ltrim('   hello   ')  -- 'hello   '
select rtrim('   hello   ')  -- '   hello'
select substring('hello',1,3)  -- hel

-- soundex(),查询和 Michael Green 发音相同的名字
select name from custromer where soundex(name) = soundex('Michael Green')  -- Michelle Green

常用数值处理函数

select abs(-2)  -- 2
select exp(0)  -- 1
select pi()  -- 3.1415926
select sqrt(9)  -- 3
select sin(pi()/6)  -- 0.5
select cos(pi()/3)  -- 0.5
select tan(pi()/4) -- 1

常用日期函数

select getdate()  -- 2021-06-29 09:40:42.610

select datepart(year, getdate())   -- 2021
select datepart(month, getdate())   -- 6
select datepart(day, getdate()) -- 29
select datepart(hour, getdate())  -- 9
select datepart(minute, getdate())  -- 52
select datepart(second, getdate())  -- 6

select dateadd(year, 2, getdate())  -- 2023-06-29 09:47:52.953
select dateadd(month, 2, getdate())  -- 2021-08-29 09:48:13.040
select dateadd(day, 2, getdate())  -- 2021-07-01 09:45:34.907
select dateadd(hour, 2, getdate())  -- 2021-06-29 11:52:53.870
select dateadd(minute, 2, getdate()) -- 2021-06-29 09:54:53.870
select dateadd(second, 2, getdate())  -- 2021-06-29 09:52:55.870

select datediff(year, '2021-06-29', '2021-07-01')    -- 0
select datediff(month, '2021-06-29', '2021-07-01')  -- 1
select datediff(day, '2021-06-29', '2021-07-01')  -- 2
select datediff(hour, '2021-06-29', '2021-07-01')  -- 48
select datediff(minute, '2021-06-29', '2021-07-01')  -- 2880
select datediff(second, '2021-06-29', '2021-07-01')  -- 172880

convert 语法:

CONVERT(data_type(length),expression,style)

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE())  -- Dec 29 2008 11:45 PM
CONVERT(VARCHAR(10),GETDATE(),110)   -- 12-29-2008
CONVERT(VARCHAR(11),GETDATE(),106)  -- 29 Dec 08
CONVERT(VARCHAR(24),GETDATE(),113)  -- 29 Dec 2008 16:25:46.635
上一篇下一篇

猜你喜欢

热点阅读