操纵数据

上一篇 / 下一篇  2009-07-31 10:22:15 / 个人分类:SQL相关

本章的内容包括:

1. T-SQLlike和通配符的扩充

2.字符串操作

3.数据类型转换和convert函数

4.日期时间的处理

5.数学函数、集合函数和isnull

6. order by子句和compute子句

9.1 T-SQLlike子句和通配符的扩充

1. like谓词与通配符

       select子句的where筛选器或having筛选器中,使用like谓词来确定与括在引号‘’或“”中、可能包含通配符的字符串相匹配的数据。

       通配符用于匹配串中,代表一个或多个字符,或一个字符的取值范围或集合。它必须与like谓词一起使用。

2. ANSI-89 SQL标准中的通配符

     AINSI-89 SQL标准中,通配符包括:

               1. %表示任意个字符的字符串,也可以表示没有字符

               2. _表示任一单个字符

3. T-SQL对通配符的扩充

     T-SQL扩充了两个表示字符取值范围或集合的通配符:

               1. [ ]表示任意在给定范围或集合内的单个字符,如[a-z][abc]

               2. [^]表示任意不再跟定范围或集合内的单个字符,如[^a-z]

4.like谓词中的escape子句

  4.1转义字符和escape子句

      like匹配串中,通配符% , _ , [] , [^]具有特殊的意义而被作为保留字符。但在like匹配串中,包含作为普通字符而不是具有特殊意义的通配符时,就需要用一个专用字符来指定,这个专用字符被称为转义字符。转义字符在like谓词中用escape子句来定义。

  4.2 ANSI-89 SQL标准的转义字符定义方式

      使用like谓词中的escape来定义转义字符,下面我们要查找name列以’_bo’结尾的行:

      select*

fromdbo.Employee

whereNamelike'%/_bo'escape'/'

1.转义字符可以是任意的单个字符

2.转义字符只作用于紧随其后的一个字符,这个字符必须是通配符或转义字符本身

  4.3 T-SQL对转义字符定义方法的扩充

      T-SQL的转义字符定义方法有两种,除上面说的escape方法外,T-SQL扩充使+[]作为转义字符。即在T-SQLlike谓词中,对于通配符% , _ , [ , ^若作为一个普通字符时,可以不适用escape子句来指定转义字符,而使用将该字符扩在方括号中来表示它是一个普通字符。而右括号]不需要使用转义字符,使用它自己即可。

9.2字符串操作

常用的字符串函数

函数

语法

举例

substring

Substring(expression,start,length)

 

right

Right(char_expr,length)

 

upper

Upper(char_expr)

 

lower

Lower(char_expr)

 

charindex

Charindex(expression,expression)

 

patindex

PATINDEX(pattern,expression)

 

ascii

Ascii(char_expr)

 

char

Char(int_expr)

 

Ltrim

ltrim(char_expr)

删除起始空格后返回字符表达

Rtrim

rtrim(char_expr)

截断所有尾随空格后返回一个字符

space

Space(integer_expr)

返回由重复的空格组成的字符串。

str

Str(approx_numeric,length,decimal)

TAG:

 

评分:0

我来说两句