Sql Server字符串函数

字符串函数用于对字符和二进制字符进行各种操作

1.ASCII()函数

 ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值。参数character_expression必须是一个char或varchar类型的字符串表达式。
 eg: select ASCII(‘s‘),ASCII(‘sql‘),ASCII(‘1‘);
执行结果如图:
字符‘s‘的ASCII值为115,所以第一行和第二行返回结果相同,对于第三条语句中的纯数字的字符串,可以不用单引号括起来。

2.CHAR()函数

 CHAR(integer_expression)函数将整数类型的ASCII值转换为对应的字符,integer_expression是一个介于0~255之间的整数。如果该整数表达式不在此范围内,将返回null值。
eg: select CHAR(115),CHAR(49);
可以看到,这里返回的值与ASCII函数的返回值正好相反.

3.LEFT()函数

  LEFT(character_expression,integer_expression)函数返回字符串左边开始指定个数的字符串、字符或者二进制数据表达式。character_expression是字符串表达式,可以是常量,变量或字段。integer_expression为整数,指定character_expression将返回的字符数。 
eg: select LEFT(‘football‘,4);
 函数返回字符串“football”左边开始的长度为4的子字符串,结果为“foot”,可见索引从1开始。

4.RIGHT()函数

 与LEFT()函数相反,RIGHT(character_expression,integer_expression)返回字符串character_expression最右边integer_expression个字符。
eg: select RIGHT(‘football‘,4);
 函数返回字符窜"football"右边开始的长度为4的字符串,结果为“ball”,索引也是从1开始的。

5.LTRIM()函数

  LTRIM(character_expression)用于除去字符串左边多余的空格,字符数据表达式character_expression是一个字符串表达式,可以是常量,变量,也可以是字符字段或者二进制数据列。
eg: select ‘(‘ + ‘ book ‘ + ‘)‘, ‘(‘ +LTRIM( ‘ book ‘) + ‘)‘;
 对比两个值,LTRIM只删除字符串左边的空格,右边的空格不会被删除.

6.RTRIM()函数

  RTRIM(character_expression)用于除去字符串右边多余的空格,字符数据表达式character_expression是一个字符串表达式,可以是常量,变量,也可以是字符字段或者二进制数据列。
eg:  select ‘(‘ +‘ book ‘ +‘)‘,‘(‘ +RTRIM(‘ book ‘) +‘)‘;
 对比两个值,LTRIM只删除字符串右边的空格,左边的空格不会被删除.

7.STR()函数

 STR(float_expression [ , length [ , decimal ] ])函数用于将数值数据转换为字符数据。float_expression是一个带有小数点的近似数字(float)数据类型的表达式。length表示总长度。它包括小数点、符号、数字以及空格,默认值为10。decimal指定小数点后的位数,decimal必须小于或等于16。如果decimal大于16,则会截断结果,使其保持小数点后有16为。
eg: select STR(3141.59,6,1),STR(123.45,2,2)
 第一条语句6个数字和一个小数点组成的数值3141.59转换为长度为6的字符串,数字的小数部分舍入为1个小数位,第二条语句中的表达式超出指定的总长度时,返回的字符串为指定长度的两个**。

8.字符串逆序的函数REVERSE()

 REVERSE(s)将字符串s反转,返回的字符串的顺序和s的顺序相反。
 eg: select REVERSE(‘abc‘);
 由结果可以看到,字符串“abc”经过REVERSE函数处理后,所有的字符串顺序被反转,结果为“cba”;

9.计算字符串的长度函数LEN(str)

 返回字符表达式中的字符数。如果字符串中包含前导空格和尾随空格,则函数将它们包含在内。LEN对相同的单字节和双字节字符串返回相同的值。
eg: select LEN(‘no‘),LEN(‘日期‘),LEN(12345);
 可以看到,LEN函数在对待英文字符和汉字字符时,返回的字符串长度是相同的,一个汉字也算作一个字符。LEN函数在处理纯数字也将其当作字符串,但是纯数字可以不实用引号.

10.匹配字符串开始位置的函数CHARINDEX(str1,str,[start])

 CHARINDEX(str1,str,[start])函数返回子字符串str1在字符串str中的开始位置,start为搜索的开始位置,如果指定start参数,则从指定位置开始搜索;如果不指定start参数或者指定为0或者负值,则从字符串开始位置搜索。
 eg: select CHARINDEX(‘a‘,‘banana‘),CHARINDEX(‘a‘,‘banana‘,4), CHARINDEX(‘na‘,‘banana‘, 4);

 CHARINDEX(‘a‘,‘banana‘)返回字符串‘banana‘中子字符串‘a’ 第一次出现的位置,结果为2;
 CHARINDEX(‘a‘,‘banana‘,4)返回字符串‘banana‘中从第4个位置开始子字符串‘a’的位置,结果为4;
 CHARINDEX(‘na‘,‘banana‘, 4)返回从第4个位置开始子字符串‘na’第一次出现的位置,结果为5

11.SUBSTRING()函数

 SUBSTRING(value_expression,start_expression,length_expression)函数返回字符表达式,二进制表达式,文本表达式或图像表达式的一部分。
 value_expression是character、binary、text、ntext或image表达式。
 start_expression指定返回字符的起始位置的整数或表达式。如果start_expression小于0,或生成错误并终止语句。如果 start_expression大于值表达式的字符数,将返回一个零长度的表达式。
 length_expression是正整数或指定要返回的value_expression的字符数表达式。如果length_expression是负数,会生成错误并终止语句,如果start_expression与length_expression的总和大于value_expression中的字符数,则返回整个值表达式。
eg: select SUBSTRING (‘breakfast‘1,5), SUBSTRING(‘breakfast‘ , LEN(‘breakfast‘)/2, LEN(‘breakfast‘));
 第一条语句返回从第一个位置开始长度为5的字符串,结果为"break",第二条语句返回整个字符串的后半段字符串,结果为"akfast"

12.LOWER()

 LOWER(character_expression)将大写字符数据转换为小写字符数据后返回字符表达式。character_expression是指定要进行转换的字符串。
eg: select LOWER(‘BEAUTIFUL‘),LOWER(‘Well‘);
由结果可以看到,经过LOWER()函数转换之后,大写字母都变成小写了,小写字母保持不变.

13.UPPER()函数

 UPPER(character_expression)将小写字符数据转换为大写字符数据后返回字符表达式。character_expression指定要进行转换的字符串。
eg: select UPPER(‘black‘),UPPER(‘Black‘);
 由结果可以看到,经过UPPER函数转换后,小写字母都变成了大写,大写字母保持不变。

14.替换函数REPLACE(s,s1,s2)

 REPLACE(s,s1,s2)使用字符串s2替代字符串s中的s1.
 eg: select REPLACE(‘xxx.sqlserver2012.com‘,‘x‘,‘w‘);
 EPLACE(‘xxx.sqlserver2012.com‘,‘x‘,‘w‘)将"xxx.sqlserver2012.com"字符串中的‘x‘替换为‘w‘字符,结果为"www.sqlserver2012.com";

时间: 2024-10-24 12:43:22

Sql Server字符串函数的相关文章

SQL Server 字符串函数

字符串函数 在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数. 1.获取字符的ASCII码 ASCII ASCII码是对字符的标准编码.要获取字符的ASCII码就可以通过调用ASCII函数来实现. 语法结构: ASCII(espression) 这里的expression是一个返回char或varchar数据类型的表达式,ASCII函数仅对表达式最左侧的字符返回ASCII码值. 返回值:int数据类型. 示例: select ASCII('f')    --输出

SQL Server字符串函数(超实用)

1. len():计算字符串长度 2. lower().upper():字符串转换为大.小写 3. ltrim().rtrim():截去字符串左.右侧空格 4. space():返回由重复的空格组成的字符串 5. substring().left().right():取子字符串 6. replace():字符串替换 7. reverse():返回字符串值的逆向值 8. stuff():删除指定长度的字符,并在指定的起点处插入另一组字符 9. replicate():以指定的次数重复字符串值 10

[转]SQL Server字符串处理函数大全

select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了.left()是sql函数.select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据.字符串和表达式执行不同的运算.此类函数作用于CHAR.VARCHAR. BINARY.

SQL Server系统函数:字符串函数

原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a'),ASCII('b'),ASCII('?') select CHAR(65),CHAR(66),CHAR(97),CHAR(98),CHAR(63) 2.unicode字符转化为整数,把整数转化为unicode字符 select UNICODE('A'),UNICODE('B'),UNICODE('

数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是: Aggregate 函数 Scalar 函数 合计函数(Aggregate functions) Aggregate 函数的操作面向一系列的值,并返回一个单一的值. 注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使

13、SQL Server 自定义函数

SQL Server 自定义函数 在SQL Server中不仅可以使用系统函数(如:聚合函数,字符串函数,时间日期函数等)还可以根据需要自定义函数. 自定义函数分为标量值函数和表值函数. 其中,标量值函数用于返回单个值,而表值函数用于返回一个结果集. 函数参数 参数可以是常量.表中的某个列.表达式或其他类型的值.在函数中有三种类型的参数. 1.输入:指必须输入一个值. 2.可选值:在执行该参数时,可以选择不输入参数. 3.默认值:函数中默认有值存在,调用时可以不指定该值. 创建标量值函数 语法:

SQL Server 2000 函数使用---CAST 和 CONVERT

本文来自:http://www.cnblogs.com/xh831213/category/47654.html 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 参数 expression 是任何有效的 Microsoft® SQL

四个很好用的Sql Server 日期函数:DateDiff、DatePart、DateAdd、DateName

我以前查一段时间范围内的数据都是在程序里计算好日期再掉查询语句,现在我用下面的函数.SQL SERVER没有查一季度数据的函数. DateDiff函数: 描述 返回两个日期之间的时间间隔. 语法 DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) DateDiff 函数的语法有以下参数: 参数 描述 interval 必选.字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔.有关数值,请参

sql sever 字符串函数

SQL Server之字符串函数 以下所有例子均Studnet表为例:  计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lower('I AM A STUDENT !')select upper('i am a student !') 截去字符串左.右侧空格