sqlserver2000字符串函数(下)
?
使用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函数。
sql语句如下: SELECT DIFFERENCE('Smithers','Smythers') 运行结果: S252 S200 ? ? 使用ASCII(获取ASCII码)函数ASCII函数用于返回字符表达式最左端字符的ASCII代码值。 语法: ASCII (character_expression) 参数说明: l ?? character_expression:类型为char或varchar的表达式。
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 ??set @ascii =ascii('A')+@i ??print? char(@ascii)+'的ASCII码值为:'+cast(@ascii as char)? ??Set @i=@i+1 end ? 使用SPACE(返回由重复的空格组成的字符串)函数SPACE函数用于返回由重复的空格组成的字符串。 语法: SPACE (integer_expression) 参数说明: l????????? integer_expression:表示空格个数的正整数。如果该参数为负数,则返回空字符串。 示例: 使用该函数在一段字符串中插入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',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
? 使用SUBSTRING(取字符串)函数SUBSTRING函数用于返回字符串、二进制字符串或文本串的一部分,还可以将此函数解释为从指定的位置取得指定个数的字符。 语法: SUBSTRING (expression,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'
? 使用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 操作员信息表 ORDER by 时间 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |