操纵数据
上一篇 / 下一篇 2009-07-31 10:22:15 / 个人分类:SQL相关
本章的内容包括:
1. T-SQL对like和通配符的扩充
2.字符串操作
3.数据类型转换和convert函数
4.日期时间的处理
5.数学函数、集合函数和isnull
6. order by子句和compute子句
9.1 T-SQL对like子句和通配符的扩充
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-SQL的like谓词中,对于通配符% , _ , [ , ^若作为一个普通字符时,可以不适用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: 标题搜索日历
我的存档数据统计
清空Cookie - 联系我们 - 51Testing软件测试网 - 交流论坛 - 空间列表 - 站点存档 - 升级自己的空间
Powered by 51Testing
© 2003-2021
|