使用REVERSE(返回字符表达式的反转)函数
REVERSE函数用于返回字符表达式的反转。
语法:
REVERSE (character_expression)
参数说明:
l character_expression:由字符数据组成的表达式。character_expression可以是常量、变量,也可以是字符或二进制数据的列。
下面使用REVERSE函数返回指定数据的反转
sql语句如下:
USE 销售管理系统
SELECT TOP 5 操作员编号 FROM 操作员信息表
SELECT TOP 5 REVERSE(操作员编号) AS 反转结果
FROM 操作员信息表
使用SOUNDEX(返回由4个字符组成的代码)函数
SOUNDEX函数用于返回由4个字符组成的代码(SOUNDEX)以评估两个字符串的相似性。
语法:
SOUNDEX (character_expression)
参数说明:
l character_expression:字符数据的字母数字表达式。参数可以是常数、变量或列。
说明:SOUNDEX将alpha字符串转换成由四个字符组成的代码,以查找相似的词或名称。代码的第一个字符是character_expression的第一个字符,代码的第二个字符到第四个字符是数字。将忽略character_expression中的元音,除非它们是字符串的第一个字母。可以嵌套字符串函数。
示例:
使用SOUNDEX函数。
说明:下例显示SOUNDEX函数及相关的DIFFERENCE函数。在第一个示例中,返回所有辅音字母的标准SOUNDEX值。
sql语句如下:
SELECT DIFFERENCE('Smithers', 'Smythers')
运行结果:
S252
S200
使用ASCII(获取ASCII码)函数
ASCII函数用于返回字符表达式最左端字符的ASCII代码值。
语法:
ASCII (character_expression)
参数说明:
l character_expression:类型为char或varchar的表达式。
说明:ASCII码共有127个,其中Microsoft Windows不支持1~7、11~12和14~31之间的字符。值8、9、10和13分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序而对文本显示有不同的影响。
ASCII码值对照表如表1所示。
表1 ASCII码值对照表
ASCII码 | 按 键 | ASCII码 | 按 键 | ASCII码 | 按 键 | ASCII码 | 按 键 |
0 | ?/FONT> | 32 | [space] | 64 | @ | 96 | ` |
1 | 不支持 | 33 | ! | 65 | A | 97 | A |
2 | 不支持 | 34 | " | 66 | B | 98 | B |
3 | 不支持 | 35 | # | 67 | C | 99 | C |
4 | 不支持 | 36 | $ | 68 | D | 100 | D |
5 | 不支持 | 37 | % | 69 | E | 101 | E |
6 | 不支持 | 38 | & | 70 | F | 102 | F |
7 | 不支持 | 39 | ' | 71 | G | 103 | G |
8 | * * | 40 | ( | 72 | H | 104 | H |
9 | * * | 41 | ) | 73 | I | 105 | I |
10 | * * | 42 | * | 74 | J | 106 | j |
11 | 不支持 | 43 | + | 75 | K | 107 | k |
12 | 不支持 | 44 | , | 76 | L | 108 | l |
13 | * * | 45 | - | 77 | M | 109 | m |
14 | 不支持 | 46 | . | 78 | N | 110 | n |
15 | 不支持 | 47 | / | 79 | O | 111 | o |
16 | 不支持 | 48 | 0 | 80 | P | 112 | p |
17 | 不支持 | 49 | 1 | 81 | Q | 113 | q |
18 | 不支持 | 50 | 2 | 82 | R | 114 | r |
通过变量循环和类型转换函数,显示A~Z的ASCII码值。
sql语句如下:
DECLARE @i int
DECLARE @ascii int
set @i = 0
while @i < 26
begin
print char(@ascii)+'的ASCII码值为:'+cast(@ascii as char)
end
使用SPACE(返回由重复的空格组成的字符串)函数
SPACE函数用于返回由重复的空格组成的字符串。
语法:
SPACE (integer_expression)
参数说明:
l integer_expression:表示空格个数的正整数。如果该参数为负数,则返回空字符串。
示例:
使用该函数在一段字符串中插入3个空格。
使用该函数插入3个空格
sql语句如下:
SELECT 'ABC'+','+SPACE(3)+'DEF' AS 结果
使用STR函数
STR函数用于返回由数字数据转换来的字符数据。
语法:
STR (float_expression [,length [,decimal]])
参数说明:
l float_expression:带小数点的近似数字(float)数据类型的表达式。
l length:总长度,包括小数点、符号、数字或空格,默认值为10。
l decimal:小数点右边的位数。
sql语句如下:
SELECT STR(3.147) AS 'STR',
STR(3.147, 5, 2) AS '2 decimals',
STR(3.147, 5, 3) AS '3 decimals'
使用STUFF(删除指定的字符并在指定的位置插入字符)函数
STUFF函数用于删除指定长度的字符并在指定的起始点插入字符。
语法:
STUFF (character_expression , start , length , character_expression)
参数说明:
l character_expression:由字符数据组成的表达式。
l start:是一个整型值,指定删除和插入的开始位置。如果start或length是负数,则返回空字符串。如果start比第一个character_expression长,则返回空字符串。
l length:一个整数,指定要删除的字符数。如果length比第一个character_expression长,则最多删除到最后一个character_expression中的最后一个字符。
示例:
使用STUFF函数。sql语句如下:
SELECT STUFF('ABCDE',2,3,'KKK') AS 结果
运行结果:
AKKKE
说明:在字符串“ABCDE”中从第2个位置(B)开始删除3个字符(BCD),然后在B的位置上插入3个“KKK”。
使用SUBSTRING(取字符串)函数
SUBSTRING函数用于返回字符串、二进制字符串或文本串的一部分,还可以将此函数解释为从指定的位置取得指定个数的字符。
语法:
SUBSTRING (expression, start, length)
参数说明:
l expression:字符串表达式、可以是二进制字符串、text、image、列或包含列的表达式。
l start:一个整数,指定子串的开始位置。
l length:一个整数,指定子串的长度(要返回的字符数或字节数)。
下面使用SUBSTRING函数取得“商品入库日期”。
本例将使用SUBSTRING函数,在“商品编号”字段中从第6位开始取字符串,共取4位,例如在“S20031211002”字符串中,从第6位开始取,共取4位,则返回结果为“1211”。
sql语句如下:
USE 销售管理系统
SELECT 商品编号,SUBSTRING(商品编号,6,4) AS 商品入库日期 FROM 库存表
使用CHARINDEX(返回字符串的起始位置)函数
CHARINDEX函数用于返回字符串中指定表达式的起始位置。
语法:
CHAR (expression1, expression2[start_location])
参数说明:
l expression1:一个表达式,其中包含要寻找的字符的次序。expression1是一个短字符串数据类型分类的表达式。
l expression2:一个表达式,通常是一个用于搜索指定序列的列。expression2属于字符串数据类型分类的表达式。
l start_location:在expression2中搜索expression1时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从expression2的起始位置开始搜索。
本例将使用CHARINDEX函数在“操作员住址”字段中查找字符串为“长春市”的起始位置。
说明:示例运行结果为4,在第6条记录的“操作员住址”字段中,“长春市”出现的位置为第4位。
sql语句如下:
USE 销售管理系统
SELECT * FROM 操作员信息表
SELECT CHARINDEX('长春市',操作员住址) AS "起始位置" FROM 操作员信息表
WHERE 操作员编号 = 'CY20040604006'
说明:运行代码将会从字段“操作员住址”中查找“长春市”的起始位置,条件是“操作员编号”为“CY20040604006”。
使用LEFT(取左边指定个数的字符)函数
LEFT函数用于从左边开始,取得字符串指定个数的字符,并返回所取得的字符。
语法:
LEFT (character_expression, integer_expression)
参数说明:
l character_expression:字符或二进制数据表达式。character_expression可以是常量、变量或列。
l integer_expression:正整数。如果integer_expression为负,则返回空字符串。
示例:
使用LEFT函数取得指定个数的字符串。
SELECT LEFT('ABCDEF',3)
运行结果:
ABC
本例将使用LEFT函数从“操作员信息表”中只取得操作员注册日期的年、月、日。
sql语句如下:
USE 销售管理系统
SELECT 时间 FROM 操作员信息表
SELECT LEFT(时间,10)AS '注册时期' FROM 操作员信息表by时间