SQL Server字符串处理函数大全
上一篇 / 下一篇 2008-04-08 10:01:07 / 个人分类:数据库
select 字段1 from 表1 where 字段1.IndexOf("云")=1;51Testing软件测试网@
r3j;R$cv
这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。
&o(qt"FM0JQ/f'|0left()是sql函数。51Testing软件测试网
h |,@ M,n
select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。51Testing软件测试网R
w lHeh
H+]O7z
常用的字符串函数有:51Testing软件测试网$T| M"hKH#]_A8r9s
k fH
FK$F8h$WL"F0一、字符转换函数51Testing软件测试网7j9q[f4X_1_gM
1、ASCII()51Testing软件测试网0{
e2m/P4Qu]["k}
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。51Testing软件测试网 AGKN1VTw(G a@9qv
2、CHAR()
7]y0V/A,|Z*?
b6O0 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。51Testing软件测试网%|3RA6_yIgm
3、LOWER()和UPPER()
;j9m/}*ifE"E0 LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。51Testing软件测试网u-J6s^
`6T
4、STR()
&~'E$}y0Q0 把数值型数据转换为字符型数据。
K].T!xiX9i9Xc0STR (<float_expression>[,length[, <decimal>]])51Testing软件测试网x:Jl^0n
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
E~1b E\-ux _0 当length 或者decimal 为负值时,返回NULL;
_6[9_LGu1`$S0 当length 小于小数点左边(包括符号位)的位数时,返回length 个*;51Testing软件测试网 V3XUB/ZS4xQH
先服从length ,再取decimal ;
;]ft4Q7U0 当返回的字符串位数小于length ,左边补足空格。51Testing软件测试网*sR#t.D4w9s`_2g }
二、去空格函数51Testing软件测试网:E
I|}!Nm R^
1、LTRIM() 把字符串头部的空格去掉。
WVL!].M02、RTRIM() 把字符串尾部的空格去掉。51Testing软件测试网8JO4R4G"?!X
51Testing软件测试网KB6~-C4w:K三、取子串函数51Testing软件测试网T+]h3S-}$NE8x
1、left()51Testing软件测试网&_"ZJ L?
LEFT (<character_expression>, <integer_expression>)
E%jlC O7|H0返回character_expression 左起 integer_expression 个字符。
Iw;K%k7sT02、RIGHT()
r+XN:U
mM0RIGHT (<character_expression>, <integer_expression>)51Testing软件测试网0VQ%L9]!vh*V)d
返回character_expression 右起 integer_expression 个字符。
*Yaz8d k;{ hh+UE3X03、SUBSTRING()
^9b E/fmc)DT4y0SUBSTRING (<expression>, <starting_ position>, length)
O!gi9` Rq
Me0返回从字符串左边第starting_ position 个字符起length个字符的部分。
四、字符串比较函数
e)MX0uh:Jsc'O01、CHARINDEX()
&J&Z&bV-W5dpe~3J0 返回字符串中某个指定的子串出现的开始位置。
.a
? S
Zx}#C0CHARINDEX (<’substring_expression’>, <expression>)
I(mjo qD+h n d0 其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。51Testing软件测试网$uc&|II
此函数不能用于TEXT 和IMAGE 数据类型。
i4V ewM6}
Sw2TI K02、PATINDEX()51Testing软件测试网cag4] u
返回字符串中某个指定的子串出现的开始位置。51Testing软件测试网xZz8[`#O
PATINDEX (<’%substring _expression%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
/R1U3a"JG9h#G0 与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。51Testing软件测试网~O0dhy2P
"[n5J&R*h,[0五、字符串操作函数51Testing软件测试网u;Z R?"V/G0G)F4r\
1、QUOTENAME()