SQL Server字符串处理函数大全

上一篇 / 下一篇  2008-04-08 10:01:07 / 个人分类:数据库

51Testing软件测试网.m DnJ$m TI.eh(J

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 lHe h H+]O7z
        常用的字符串函数有:51Testing软件测试网$T| M"hKH#]_A8r9s

kfH FK$F8h$WL"F0一、字符转换函数51Testing软件测试网7j9q[f4X_1_gM
1、ASCII()51Testing软件测试网0{ e2m/P4Qu]["k }
        返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。51Testing软件测试网 A GKN1VTw(G a@9qv
2、CHAR()
7]y0V/A,|Z*? b6O0        将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。51Testing软件测试网%|3R A6_yI gm
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软件测试网*s R#t.D4w9s`_2g}
二、去空格函数51Testing软件测试网:E I |}!NmR^
1、LTRIM() 把字符串头部的空格去掉。

1@ W0o6b[/rI"o [3Y0

WVL!].M02、RTRIM() 把字符串尾部的空格去掉。51Testing软件测试网8JO4R4G"?!X

51Testing软件测试网KB6~-C4w:K

三、取子串函数51Testing软件测试网T+]h3S-}$N E8x
1、left()51Testing软件测试网&_"ZJ L?
LEFT (<character_expression>, <integer_expression>)
E%jlC O7|H0返回character_expression 左起 integer_expression 个字符。

L L1j$w a Y0

Iw;K%k7sT02、RIGHT()
r+XN:U mM0RIGHT (<character_expression>, <integer_expression>)51Testing软件测试网0VQ%L9]!vh*V)d
返回character_expression 右起 integer_expression 个字符。

2B aS/E Mg/q3M K0

*Yaz8dk;{ hh+UE3X03、SUBSTRING()
^9bE/fmc)DT4y0SUBSTRING (<expression>, <starting_ position>, length)
O!gi9` Rq M e0返回从字符串左边第starting_ position 个字符起length个字符的部分。

,MF5dw%Q3B_U0DF051Testing软件测试网$a4bU \m+AMZ,\

四、字符串比较函数
e)M X0uh:Jsc'O01、CHARINDEX()
&J&Z&bV-W5dp e~3J0        返回字符串中某个指定的子串出现的开始位置。
.a ? S Zx}#C0CHARINDEX (<’substring_expression’>, <expression>)
I(m joqD+h n d0        其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。51Testing软件测试网$uc&|II
        此函数不能用于TEXT 和IMAGE 数据类型。
i4V ewM6} Sw2TIK02、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()
W%^J oQ\#N0        返回被特定字符括起来的字符串。
O*PR;z!{iI0QUOTENAME (<’character_expression’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。51Testing软件测试网{EH)M ?6O+~'t"t
2、REPLICATE()51Testing软件测试网%_v&DZZ-k*s
        返回一个重复character_expression 指定次数的字符串。
V I&?hvU Y P0REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值,则返回NULL 。51Testing软件测试网#kT.k,I-N4f/~

:Lv G-mV9Q#[x)x/Fl7y03、REVERSE()51Testing软件测试网 |.Y5hssq
        将指定的字符串的字符排列顺序颠倒。
f3H _;t,z0REVERSE (<character_expression>) 其中character_expression 可以是字符串、常数或一个列的值。51Testing软件测试网!Et&mQB|[

51Testing软件测试网-h_4JG]f

4、REPLACE()51Testing软件测试网9aOlXG z'G aXJh
        返回被替换了指定子串的字符串。51Testing软件测试网1A? ?+X1I-@q/{&w9To
REPLACE (<string_expression1>, <string_expression2>, <string_expression3>) 用string_expression3 替换在string_expression1 中的子串string_expression2。51Testing软件测试网yv|)n%QDev

5m/WIK;@ S `04、SPACE()51Testing软件测试网5?cT n},`G
返回一个有指定长度的空白字符串。51Testing软件测试网6E6Pi f7ud*uX8|!QE
SPACE (<integer_expression>) 如果integer_expression 值为负值,则返回NULL 。51Testing软件测试网 P{[_1q8{ K`P'Y8e.S

B5kr!nl R05、STUFF()
Q-yUP)Yt#Y%_&d9n0        用另一子串替换字符串指定位置、长度的子串。51Testing软件测试网hGbeP^Y
STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>)51Testing软件测试网[7jq$A sZ
        如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。51Testing软件测试网bS-M1@-wI3@/dJ\
        如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。

5g8[u njP*f:Es5E0

TAG: 数据库 SQL 字符串处理

 

评分:0

我来说两句

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 8484
  • 日志数: 14
  • 书签数: 2
  • 建立时间: 2008-03-13
  • 更新时间: 2008-11-28

RSS订阅

Open Toolbar