SQL Server常用的字符串/日期/系统函数

上一篇 / 下一篇  2011-10-13 12:50:20 / 个人分类:数据库

--字符串函数51Testing软件测试网"d$i8^PT4M _!x&?-v J
51Testing软件测试网uC }OCi
--1,len和datalength函数51Testing软件测试网3R\y/B-w3z
declare@avarchar(50),@bchar(30)51Testing软件测试网 YW*u_!AX
select@a ='成都cd',@b='gocean'
YLPHIMj+c'y0--select @a as 姓名51Testing软件测试网oN][)Al
print@a51Testing软件测试网_1R4E M kaSz
printlen(@a)
2g LuyCHQ;j0printdatalength(@a)51Testing软件测试网f0l`1^,tw7]#Z+` ?
print@b
)l/PwP lr_*{n0printlen(@b)
g;nX_!gh"Z0printdatalength(@b)
SsI){AVSUY0
`G|9U\(W$h0--2,substring,right,left
e*sg(bE0declare@avarchar(50)51Testing软件测试网/JU:U1^t'`B8i
set@a ='microsoft'
!PoT*` sf0printsubstring(@a,2,3)51Testing软件测试网DY'?n7qo*FK&| n
printright(@a,4)
v }]/h'^`0printleft(@a,5)51Testing软件测试网YW;lx-R!O7[guT
51Testing软件测试网WVd Q y.dr"CB
--3,trim,rtrimm,ltrim51Testing软件测试网@[,Z7T^;GRh l
declare@anvarchar(30),@bnchar(30)51Testing软件测试网5w/O`"h/uR
set@a ='     dog'
!`9c-q3|P?2q0set@b ='     dog'51Testing软件测试网7C'b w,F,e7c5QY.S%T
printlen(@a)
1d+K?w MC9w2@.~0printrtrim(@a)51Testing软件测试网G u#x|+a QOsq
printltrim(@a)
GdtN}1Y0printlen(rtrim(@a))
sg4u4rK*c?"J*d0printlen(ltrim(@a))51Testing软件测试网"g| uUMTq z
printdatalength(@a)51Testing软件测试网F4\.G)O:L3\6Y
printdatalength(@b)51Testing软件测试网W w2gE H(|2G

)t_1z1Q*fXr&eZ0--char varchar 在存储英文字符和数字的时候都按一个字节存储
7e7h;z S4@'M1[\*e.J1f0
3b/Q'Cg;s9E7c'f d1Tr7c051Testing软件测试网'x,pW+ngYO4[5oE
--4,ascii,char
-z'SM\2`$XzA7].l0declare@avarchar(10),@bint51Testing软件测试网/a \*HoPM6TQ
set@a ='abc'
wa _XCEc(rwA1N0set@b = 48-- 0-9 :48-57, a-z:97-122
-r}&oPM3Arac0printascii(@a)--返回字符串表达式中最左侧的字符的ASCII码值
QjV*O!AA;`L0--print ascii(@a) + '12'
;wU?*_:X M]0--print ascii(SUBSTRING(@a,len(@a),1))51Testing软件测试网1C~-{$_@+J%oGR
--print ascii(right(@a,1))51Testing软件测试网-[M)Y$Zf0^P7K2|x
printchar(@b)  --将整型的ASCII码值转换为字符
#z/\4ASa0
5|6diPG iEk a0--5,nchar,unicode51Testing软件测试网7t"}5GN} C)\_
declare@anvarchar(10),@bint
hQJ5Opp0set@a ='xyz'51Testing软件测试网$\W-b9nB8D1eFL
set@b = 49-- 0-9 :48-57, a-z:97-122
4DU/T._pf x0printunicode(@a)--返回字符串表达式中最左侧的字符的unicode码值
^l(R3R5jl+G4d0printnchar(@b)  --将整型的unicode码值转换为字符
5WNq?s#zrv0
\)z#k'`|4L m$@0--6,lower upper
f:Q-t7fK\5y4y3Z0declare@avarchar(20),@bchar(30)51Testing软件测试网N(KRe%@.n
set@a ='micRosofT'
9D g ?9h:VD Iz2^4w0set@b ='MicroSoFt'51Testing软件测试网4w5_P)j,Tr-ao|c
print@a
!YT w0y fo R0printlower(@a)
`Qe)V6B9qA/t0print@b
"N UKp yFt0printupper(@b)
0_ b+hU/A0
y1cA6t:p z{051Testing软件测试网ZHAlCt`L`
--7,charindex 返回字符串中制定表达式的开始位置51Testing软件测试网5`C/d[1[4Ih EJ
select'开始位置'=charindex('计算机','成都金海洋计算机科技发展有限公司')51Testing软件测试网?!Y2sq7`_B
--select charindex('计算机','成都金海洋计算机科技发展有限公司') 开始位置
H5D fk/t0sS:`k0declare@strIndexvarchar(20)
6H&]z7z@S0set@strIndex ='成都金海洋计算机科技发展有限公司'51Testing软件测试网7Pdh0N4N3l:s
selectcharindex('计算机',@strIndex) 开始位置1,charindex('计算机','成都金海洋计算机科技发展有限公司') 开始位置2
-gb w4F'QPaX,f#bB0
~E:g l _4f:a8j|k0--8,space(返回重复的空格组成的字符串), replicate(以指定的次数重复表达式)
e0Ve(\KT%f0selectreplicate('*',10),space(10),replicate('SQL Server',2),space(10),replicate('*',10)51Testing软件测试网!hd%p!y9WN a&xf[`
printreplicate('*',10) +space(10) +replicate('SQL Server',2) +space(10) +replicate('*',10)
{1Q)Q:oa2Q:{?2SG0
;_O8N Z/cz0--9,reverse 反转字符串51Testing软件测试网HUM\V8p/t g*T:L
declare@avarchar(30)51Testing软件测试网-y:Dp.n/I1Hv5{-W)k
set@a ='Microsoft'
j:E9FW6F9b%a0print@a51Testing软件测试网~%s%pX:g
printreverse(@a)51Testing软件测试网)[ S [ u!y3O0[z9f

/W(hK c/Y;hp0--10,stuff 替换字符串51Testing软件测试网v*}'_.YH _H K
declare@avarchar(50)
w K+Gj B:c6} x&o i0set@a ='你好,四川'51Testing软件测试网`tP!uu$Qf ~
printstuff(@a,4,1,'成都')51Testing软件测试网dS y%t,fM
printstuff(@a,4,2,'成都')
~nPqXb)V(Q w0printstuff(@a,4,5,'成都')
#b?f~v9i;Dv'W)R0
3] _s2Aj0--11,replace
fKz[M lm0selectreplace('我想去中国','中国','成都')as目的地51Testing软件测试网2B u(Cp]lh6v$@
51Testing软件测试网:Xb {(`!bH cM!L _
--12,quotename
IohGh:|Rm]0selectquotename('hello','{}')51Testing软件测试网.k s3R1{\\%_
selectquotename('hello','[]')51Testing软件测试网2n-z^^&bAs
selectquotename('hello')51Testing软件测试网6g!z#b+X8iF@CFf
51Testing软件测试网I6W:lGR/H
--13, str(浮点表达式,[长度,[小数]])    其中长度包括小数点,符号,数字和空格,长度默认值为10,小数默认位数为0
+IPM*D4S*~0declare@aint,@bdecimal(4,2)
2J1`~lsu_3J }c0set@a = 25
0EH$x S!`0set@b = 36.5951Testing软件测试网S(I7y$w*sj-Q3Sw|
--print @b
r#seM'h-ht7F'mEp0printstr(@a,len(cast(@aasvarchar(30))))
X a!U/p G;E+M0--print str(@a,len(cast(@a as varchar(30))),0)
^,Ci;HaI0d\,u0printstr(@b,5,2)
Q8E*`8[t8A0printlen(str(@a))
9c_*U2k%z[0printlen(str(@b,5,2))51Testing软件测试网 Tl1OM T6T%^~)vK

!ju O(@3Q!cn*]0
'Y%{1hF Ev:R'J0--日期函数51Testing软件测试网,s5}0B#PLH'\

*CPJgKMGa0--1,getdate year,month,day
WD#e.F?9Q)rj^P0selectgetdate(),year(getdate()),month(getdate()),day(getdate())
O'mj*T&SXs j~)mh0    51Testing软件测试网0k\ [%rl!i"C
--2,datediff    返回值为integer类型51Testing软件测试网@*n f2[r
select'gocean的年龄是:'+cast(datediff(yy,'1996/10/03',getdate())aschar(2)) +'岁'as信息--根据生日取多少岁
}3Q2S/j%Ri8W?0selectdatediff(yy,'1982/11/23',getdate())
J;gC I't%R6N0selectdatediff(mm,'1982/11/23',getdate())
c ~9{5wB{O^L0selectdatediff(dd,'1982/11/23',getdate())
Y;M r"{mY j D`051Testing软件测试网\4bfC\Vg#d
--3,datename
y1x'A9a4iB;q0printdatename(yy,getdate())--年51Testing软件测试网3ymgK+E!o/m
printdatename(mm,getdate())--月
6v)\C;l$b5U#F7F0printdatename(dd,getdate())--日51Testing软件测试网3J+i%] QiqRdV
51Testing软件测试网H;Ky.v%o^
printdatename(hh,getdate())--时51Testing软件测试网 C9A%zj`2\$Z
printdatename(mi,getdate())--分 --print datename(n,getdate())
/i"u7n V:j0printdatename(ss,getdate())--秒51Testing软件测试网E]!V*GT6L!t
printdatename(ms,getdate())--毫秒    
/?1c0C4ttY:n9A3EI0printdatename(hhmmss,getdate())51Testing软件测试网[#Z v!X3|:z` _

|s9fYO J"A0SelectCONVERT(varchar(100),GETDATE(), 24)--取日期
\G|9K4pA f?0SelectCONVERT(varchar(100),GETDATE(), 23)--取时间
6ZA&mS~*v:eAK-Xp0--1900-01-01 02:30:00.00051Testing软件测试网s aF+]-|0SN
51Testing软件测试网{6I p1c,b+E K#Q
Selectcast('15:30'asdatetime)--自动加上1900-01-0151Testing软件测试网2WI4hJ.n3A9h{%i$uf
Selectlen(CONVERT(varchar(100),cast('1900-01-01 02:30:00.000'asdatetime), 24))--长度51Testing软件测试网Ee D0~/\g2Z
SelectCONVERT(varchar(100),cast('1900-01-01 02:30:00.000'asdatetime), 24)--取日期51Testing软件测试网F'ZOx;D!?P ~
selectCONVERT(varchar(10),getdate(), 120)--取日期
+qP*A S'G.C0
C h"FRG!Qc3z_0selectcast('1900-01-01 02:30:31.000'assmalldatetime)--smalldatetime精确到1分钟,大于等于30秒,向分钟进1分钟,小于30秒舍去51Testing软件测试网w(T(fe"ml"r r$u
51Testing软件测试网$i7p7B _!@/U w
51Testing软件测试网w n-{-Us
printdatename(w,getdate())--星期几
"I*`u1~+c2E,g0printdatename(dw,getdate())--星期几
8}a b,kY*a"~s0printdatename(ww,getdate())--当前年的第多少周
K ZApB!D0
iAB#U;{(sb/W(t pZL051Testing软件测试网$t+d0}Y0tJ-{
printdatename(qq,getdate())-- 刻钟51Testing软件测试网7](_ps$o{8~"O
printdatename(y,getdate())-- 当前年的第多少天51Testing软件测试网AIxIT*R(G
printdatename(dy,getdate())--当前年的第多少天
` zVl$n]u1y0
TD5wWriR8rF4^3M051Testing软件测试网"e@C\ ^O9v"?Q

4}!F&g x m0--4,datepart
E9Z:@\;K*f!E.E$b0printdatepart(yy,getdate())--年51Testing软件测试网"Ys2]M1M#k#s
printdatepart(mm,getdate())--月
ak [jR-k7m&n5}[[0printdatepart(dd,getdate())--日
y,Nd3d5i+Vw L;Ly0\051Testing软件测试网mki`/|%xZ
printdatepart(hh,getdate())--时
)R3A9zwYR!j0printdatepart(mi,getdate())--分 --print datepart(n,getdate())
v{.}i:f5[0printdatepart(ss,getdate())--秒
gN,H']w!m!f0printdatepart(ms,getdate())--毫秒    
?c:h5zY@051Testing软件测试网yblUk|"Y
printdatepart(w,getdate())--星期几
W ohz*{.g~l0printdatepart(dw,getdate())--星期几
\*k8Y._Q0printdatepart(ww,getdate())--当前年的第多少周
,}$`r Wf!Kg(})i0_0
X \%XM"]S+CY1HD2lk0
8p"chP[Dr l0printdatepart(qq,getdate())-- 刻钟
;D @usj0printdatepart(y,getdate())-- 当前年的第多少天51Testing软件测试网g3X6@ \.Fk
printdatepart(dy,getdate())--当前年的第多少天
bt.YU&d,uO0
'D6Y RaD%JT]0
+sC8Ti-xn~Q0--系统综合函数
'HSY \h0selectnewid(),host_id(),host_name(),user_name()
4bi r"f9r} CR0--版本查询
+P+f4x} uve3u+Ky0select@@version
E zO1A De1Xc0select@@version,@@servername,@@servicename,@@language,@@max_connections
`c2tY'v)P0SELECT    SERVERPROPERTY('productversion'),SERVERPROPERTY('productlevel'),SERVERPROPERTY('edition')
5F*k6{O*K^051Testing软件测试网Jz y-ee
51Testing软件测试网R[o!J X2y
declare@avarchar(30)51Testing软件测试网T\#Re;ok
set@a ='1241242'
1Qq!z6~C"?d2b8r0t0declare@bint
N"v K B0C0set@b =convert(int,@a)51Testing软件测试网a*e6]0? N
--set @b = cast(@a as int)51Testing软件测试网.l ~lD#X7x){9Z
print@b
ZjW,D)w,w&KA#ZV1\051Testing软件测试网yS3V8b,vgg
51Testing软件测试网Ic%V9f#^3s R N8PM
51Testing软件测试网.nEt Z_
--数学函数
+r4y@C9p!VC-D0printpi()
.]$H ~b_{0printpower(2,3)51Testing软件测试网 vuGQ^.U`
printsin(30*pi()/180)
t9E8Rsa?!]0printabs(-20)51Testing软件测试网YIb:ao/v
printsqrt(2)51Testing软件测试网U['h'zg
printsqrt(9)51Testing软件测试网_5IC%JG0I7ry-E
printrand()

TAG:

 

评分:0

我来说两句

Open Toolbar