下面给出几个例子说明字符串函数的使用。
(1)CHARINDEX
CHARINDEX函数返回字符串中某个指定的子串出现的开始位置。其语法格式如下:
CHARINDEX (substring_expression,expression)
其中,substring _expression是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回 0值。此函数不能用于TEXT和IMAGE数据类型。
(2)REPLICATE
REPLICATE函数返回一个重复integer_expression指定次数的字符串。其语法格式如下:
REPLICATE (character_expression,integer_expression)
如果integer_expression值为负值,则 REPLICATE函数返回 NULL 串。
【例6.4】以下程序通过REPLICATE函数返回字符串的值。
SELECT REPLICATE('cde',3),REPLICATE('cde',-2)
运行结果如下
----------- -----------
cdecdecde NULL
(所影响的行数为 1 行)
(3)REVERSE
REVERSE函数将指定的字符串的字符排列顺序颠倒。其语法格式如下:
REVERSE(character_expression)
其中,character_expression 可以是字符串、常数或一个列的值。
【例6.5】 以下程序通过REVERSE函数返回字符串的值。
SELECT REVERSE(456),REVERSE('北京')
运行结果如下
------------ ----
654 京北
(所影响的行数为 1 行)
(4)REPLACE
REPLACE函数返回被替换了指定子串的字符串。其语法格式如下:
REPLACE (string_expression1,string_expression2,string_expression3)
REPLACE函数用string_expression3替换在string_expression1中的子串string_expr-ession2。
【例 6.6】以下程序通过REPLACE函数返回字符串的值。
SELECT REPLACE ('abc123g','123','def')
运行结果如下
-----------------------
abcdefg
(所影响的行数为 1 行)
(5)SPACE
SPACE函数返回一个有指定长度的空白字符串。其语法格式如下:
SPACE(integer_expression)
如果 integer_expression 值为负值,则SPACE函数返回 NULL串。