sqlserver2000字符串函数(下)

来源:互联网 发布:网络交友 编辑:程序博客网 时间:2024/05/16 19:37
 

使用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:字符数据的字母数字表达式。参数可以是常数、变量或列。

 说明:SOUNDEXalpha字符串转换成由四个字符组成的代码,以查找相似的词或名称。代码的第一个字符是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:类型为charvarchar的表达式。

 说明:ASCII码共有127个,其中Microsoft Windows不支持1711121431之间的字符。值891013分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序而对文本显示有不同的影响。

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

通过变量循环和类型转换函数,显示AZASCII码值。

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个空格。

使用该函数插入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:是一个整型值,指定删除和插入的开始位置。如果startlength是负数,则返回空字符串。如果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:字符串表达式、可以是二进制字符串、textimage、列或包含列的表达式。

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 操作员信息表 ORDER by 时间

原创粉丝点击