有关字符串的处理
2011-11-10 11:39
267 查看
一 处理字符函数
(一)排序规则
1
1)Latin1_General 支持英语
2)字典排序 基于字典排序对字符数据进行排序和比较('A'和'a'<'B'和'b').(排序规则名称中没有显示地出现BIN元素)。如果出现BIN元素,就表示要根据字符的二进制表示对字符数据进行排序和比较('A'<'a'<'B'<'b').
CI 数据不区分大小写('a'='A')
AS 数据区分重音('a'<>'a')-------------声调
2 如果在列的排序规则是不区分大小写的前提下,让过滤条件是区分大小写的,则可以如下修改表达式的排序规则:
SELECT empid,firstname,lastname
FROM HR.Employees
WHERE lastname COLLATE Latin1_General_CS_AS = N'davis';
这次,查询将返回一个空的结果集,因为当使用区分大小写的比较时,没有找到任何匹配的信息。
(二)运算符和函数
字符串串联运算符(加号[+])
SELECT empid,firstname,+N''+lastname AS fullname
FROM HR.Employees;
输出:
empid firstname fullname
1 Sara Davis
2 Don Funk
3 Judy Lew
4 Yael Peled
5 Sven Buck
6 Paul Suurs
7 Russell King
8 Maria Cameron
9 Zoya Dolgopyatova
(三)有关字符串处理
1 LEN 统计字符串长度 --SELECT LEN('Hello') --尾部空格不计
DATALENGTH 函数 包含尾部空格 (磁盘空间) SELECT DATALENGTH (N'abcde');
SELECT DATALENGTH
2 转为小写 Lower('HELLO') 转为大写的 UPPER('hello')
3 找位置(某个子串第一次出现的起始位置) CharIndex('o','hello',1)
注:第一个参数要查找的(substring),第二个参数原字符串(string),第三个参数是起始位置(start_pos)
4 PATINDEX(pattern ,string)函数 返回字符串中某个模式第一次出现的起始位置
例:
SELECT PATINDEX('%[0-9]%','abcd123efgh'); 返回5
注:有点像LIKE谓词
5 REPLACE 替换
SELECT REPLACE('hello world','hello','world')
输出:world world
注:第一个参数是原始字符串,第二个参数是要替换的字符串,第三个是替换后的字符串
6 STUFF (string ,pos,delete_length,insertstring) 先删除字符串中的一个子串,再插入一个新的字符串作为替换。
例:
SELECT ('XYZ',2,1,'abc')
删除第二个字符,再插入字符串‘abc’
7删除空格
RTRIM LTRIM删除输入字符串中的尾随空格或前导空格
语法
RTRIM(string),LTRIM(string)
既想删除前导空格,又想删除尾随空格,则可以将一个函数的结果作为另一个函数的输入来使用。
例 :
以下代码会删除字符串的前导空格和尾随空格,最后返回‘abc’.
SELECT RTRIM(LTRIM(' abc '))
8 SUBSTRING (string ,start,length)函数 (从字符串中提取子串)
SELECT SUBSTRING('abcd',1,3)
注:第一个参数原字符串,第二个参数指定开始位置,第三个截取的长度
9 LIKE 谓词
1)% (百分号)通配符 代表任意长度的字符串,也包括空字符串。
例 返回姓氏(last name)以字符‘D’开头的所有雇员。
SELECT empid,lastname
FROM HR.Employees
WHERE lastname LIKE N'D%';
2) _(下划线)通配符 表示任意单个字符
例: 返回姓氏(lastname)第二个字符为‘e’的所有雇员
SELECT empid,lastname
FROM HR.Employees
WHERE lastname LIKE N'_e%';
3)
LEFT 和RIGHT函数
LEFT(string ,n),RIGHT(string,n)
参数1表示函数要处理的字符串,参数2表示要从字符串的左边或右边提取的字符个数。例如以下代码返回字符串‘cde’:
SELECT RIGHT('abcde',3);
(一)排序规则
1
1)Latin1_General 支持英语
2)字典排序 基于字典排序对字符数据进行排序和比较('A'和'a'<'B'和'b').(排序规则名称中没有显示地出现BIN元素)。如果出现BIN元素,就表示要根据字符的二进制表示对字符数据进行排序和比较('A'<'a'<'B'<'b').
CI 数据不区分大小写('a'='A')
AS 数据区分重音('a'<>'a')-------------声调
2 如果在列的排序规则是不区分大小写的前提下,让过滤条件是区分大小写的,则可以如下修改表达式的排序规则:
SELECT empid,firstname,lastname
FROM HR.Employees
WHERE lastname COLLATE Latin1_General_CS_AS = N'davis';
这次,查询将返回一个空的结果集,因为当使用区分大小写的比较时,没有找到任何匹配的信息。
(二)运算符和函数
字符串串联运算符(加号[+])
SELECT empid,firstname,+N''+lastname AS fullname
FROM HR.Employees;
输出:
empid firstname fullname
1 Sara Davis
2 Don Funk
3 Judy Lew
4 Yael Peled
5 Sven Buck
6 Paul Suurs
7 Russell King
8 Maria Cameron
9 Zoya Dolgopyatova
(三)有关字符串处理
1 LEN 统计字符串长度 --SELECT LEN('Hello') --尾部空格不计
DATALENGTH 函数 包含尾部空格 (磁盘空间) SELECT DATALENGTH (N'abcde');
SELECT DATALENGTH
2 转为小写 Lower('HELLO') 转为大写的 UPPER('hello')
3 找位置(某个子串第一次出现的起始位置) CharIndex('o','hello',1)
注:第一个参数要查找的(substring),第二个参数原字符串(string),第三个参数是起始位置(start_pos)
4 PATINDEX(pattern ,string)函数 返回字符串中某个模式第一次出现的起始位置
例:
SELECT PATINDEX('%[0-9]%','abcd123efgh'); 返回5
注:有点像LIKE谓词
5 REPLACE 替换
SELECT REPLACE('hello world','hello','world')
输出:world world
注:第一个参数是原始字符串,第二个参数是要替换的字符串,第三个是替换后的字符串
6 STUFF (string ,pos,delete_length,insertstring) 先删除字符串中的一个子串,再插入一个新的字符串作为替换。
例:
SELECT ('XYZ',2,1,'abc')
删除第二个字符,再插入字符串‘abc’
7删除空格
RTRIM LTRIM删除输入字符串中的尾随空格或前导空格
语法
RTRIM(string),LTRIM(string)
既想删除前导空格,又想删除尾随空格,则可以将一个函数的结果作为另一个函数的输入来使用。
例 :
以下代码会删除字符串的前导空格和尾随空格,最后返回‘abc’.
SELECT RTRIM(LTRIM(' abc '))
8 SUBSTRING (string ,start,length)函数 (从字符串中提取子串)
SELECT SUBSTRING('abcd',1,3)
注:第一个参数原字符串,第二个参数指定开始位置,第三个截取的长度
9 LIKE 谓词
1)% (百分号)通配符 代表任意长度的字符串,也包括空字符串。
例 返回姓氏(last name)以字符‘D’开头的所有雇员。
SELECT empid,lastname
FROM HR.Employees
WHERE lastname LIKE N'D%';
2) _(下划线)通配符 表示任意单个字符
例: 返回姓氏(lastname)第二个字符为‘e’的所有雇员
SELECT empid,lastname
FROM HR.Employees
WHERE lastname LIKE N'_e%';
3)
LEFT 和RIGHT函数
LEFT(string ,n),RIGHT(string,n)
参数1表示函数要处理的字符串,参数2表示要从字符串的左边或右边提取的字符个数。例如以下代码返回字符串‘cde’:
SELECT RIGHT('abcde',3);
相关文章推荐
- 有关“字符串”的处理方法
- C语言有关字符串处理的函数
- strcat、strcpy、strcmp的实现,以及有关字符串处理需要注意的地方
- sql server中与字符串处理有关函数及示例(第一个字符从1开始)
- L - 破译密码 有关字符串的处理
- 字符串处理的有关事项
- 发现了两个有关数字字符串的处理函数
- 急急急!!!有关asp字符串处理的问题,请大虾指点???
- python中有关字符串的处理
- 【经典面试题】有关sizeof、strlen处理字符串的问题
- Python语言总结 4.2. 和字符串(str,unicode等)处理有关的函数
- 几道有关字符串处理的编程题(华硕,盛大招聘笔试题)
- 有关字符串处理问题的原则
- 有关对字符串的处理,需要用到List时的简化写法
- 有关php字符串处理总结
- 一些简单的有关字符串处理函数
- 处理字符串的format函数的用法大全
- 2011-11-24 20:04 js 几个常用字符串处理函数
- HDU1088 Write a simple HTML Browser【字符串处理】【水题】
- Strsafe.h:更安全的C语言字符串处理函数