SqlServer常用函式

一劍平江湖發表於2013-06-04

--字串功能
--substring
print substring('iamagoodperson',1,5)
select substring('iamagoodperson',1,5)

--upper
select upper('he is a good person')

--lower
select LOWER('this is an VERY interesting job')

--ltrim
select ltrim('     i am a good person')

--rtrim
select rtrim('    heihei,i do not know why it likes this            ')


--replace
select replace('iwanttoaskyou','ttoa','i love you')

--stuff
select stuff('我的名字是朱旭傑',6,8,'summer')

--Date/Time Fuction
--getdate()
select getdate() as 'today'

--dateadd()
select dateadd(yy,10,getdate()) 

--datediff()
select datediff(yy,'1982/5/3',getdate()) as 

--datepart()
select datepart(dw,getdate())
select datepart(yy,getdate())
select datepart(mm,getdate())
select datepart(dd,getdate())
select datepart(ss,getdate())
select datepart(ms,getdate())
select datepart(dd,'1982/5/3')
print datepart(dw,'1982/8/22')

--day(),相當於datepart(dd,時間)
select day('1982/5/3')
select day(getdate())
 
--month(),相當於datepart(mm,時間)
select month(getdate())

--year(),相當於datepart(yy,時間)
select year(getdate())

--數學函式

--abs()
select abs(-100.3456)

--sin()
select sin(0.54)

--cos()
select cos(3.14)

--power()
select power(10,2)

--round 返回數字表示式並四捨五入為指定的長度或精度


select round(100.45,1)
select round(123,45,-2)

--floor() 
select floor(4.9)
select floor(-123.99)

--ceiling()
select ceiling(4.9)
select ceiling(-123.99)

--sqrt()
select sqrt(100)

--square
select square(10)
select square(-15)

--轉換函式
--cast()
select cast(100.45 as int)
select cast(1345 as varchar(10))

--convert()
select convert(int,100.56)
select convert(varchar(10),2345)

--空值函式
--isnull()
declare @temp_table table
(
bookID VARCHAR(10primary key,
book_price float default null,
bookName varchar(50)
)
insert into @temp_table values('1',50,'c#')
insert into @temp_table values('2',null ,'c')
select bookID AS '書的編號',isnull(book_price,0as '書的價格' 
from @temp_table

--nullif(),只要引數裡的兩個表示式相同就返回null
select nullif('iam','iam')

--coalesce返回其引數中第一個非空表示式
select coalesce(null,null,'i am a good boy')

相關文章