SQL Server字符串处理函数大全
上一篇 / 下一篇 2008-04-14 13:00:12 / 个人分类:数据库
数据库
tGjv$m/C0 这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。51Testing软件测试网0j[nXA]-Y~(D
left()是sql函数。
;{#YO?~i'H0 select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。
ED x(L6T/sq)u~(W0 常用的字符串函数有:51Testing软件测试网A"R8?+{\rH
一、字符转换函数
T&ld&l~F;O01、ASCII()51Testing软件测试网'pvk'fZ"qi*_
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
@7B+t6C$i7ov p02、CHAR()51Testing软件测试网-G{+@Zcf&y
]]6o+o
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。51Testing软件测试网Id+o-pB]w&v
3、LOWER()和UPPER()
/h9^1{P+FM0w3}b'g(N0 LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。51Testing软件测试网Q7e)A+]$Q
4、STR()51Testing软件测试网R#o-\Rz5pDCm[
把数值型数据转换为字符型数据。51Testing软件测试网-]"_l:J'USU&B[
STR (<float_expression>[,length[, <decimal>]])
f.zyC'gf3}3q.S5n0 length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
Z!IvLo ot4t0 当length 或者decimal 为负值时,返回NULL;
,T*c)l az-Fi4k5b0 当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
8KOJq6x'MA0 先服从length ,再取decimal ;51Testing软件测试网_4b2G[7b.a
g(^
当返回的字符串位数小于length ,左边补足空格。51Testing软件测试网V&V
Pg5JH+y3i$w
二、去空格函数
b4wNf#s~0F01、LTRIM() 把字符串头部的空格去掉。51Testing软件测试网!A2F!LB7yOxuNb9|
3sj$?!DQ8Yv02、RTRIM() 把字符串尾部的空格去掉。51Testing软件测试网i"c-_~FXqws r
51Testing软件测试网+y C(Ex1T(]N三、取子串函数
!pt,ra6X&D2gF5Y01、left()
G3R8ePxw4S'c"Q)nY0LEFT (<character_expression>, <integer_expression>)51Testing软件测试网%HWfY9~%j
O~
返回character_expression 左起 integer_expression 个字符。51Testing软件测试网FF![/Iv9U
M^
0ev2UPP#])R2]!q02、RIGHT()51Testing软件测试网M8c3i*uE
K7p:K1RV
RIGHT (<character_expression>, <integer_expression>)
*l.L)pc@$}0返回character_expression 右起 integer_expression 个字符。
3、SUBSTRING()
9Er5bK\G0SUBSTRING (<expression>, <starting_ position>, length)
0xY P|"U0返回从字符串左边第starting_ position 个字符起length个字符的部分。51Testing软件测试网RmLl9a iwp&`.zl+A
Tz/gI?4\8vw0四、字符串比较函数
s?5G5_u3z"jN01、CHARINDEX()51Testing软件测试网daCO1{z5q
返回字符串中某个指定的子串出现的开始位置。
!v)\Oa%u#wv0CHARINDEX (<’substring_expression’>, <expression>)
+b6h.A'm"L4e+J t3b
X0 其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。51Testing软件测试网)}wnBT#k
此函数不能用于TEXT 和IMAGE 数据类型。51Testing软件测试网}e+W V qrd&e'^j
2、PATINDEX()51Testing软件测试网%T:cL0jTe#~ Bf
返回字符串中某个指定的子串出现的开始位置。51Testing软件测试网v)G;h^3G
PATINDEX (<’%substring _expression%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
;L%YkiY9^0 与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。51Testing软件测试网yc.nfal^
y!ho+b${[&Ii&F:_