1. 概述

用字符串函数能对输入字符串进行类型转换和长度设置等操作,是数据库处理中常用的函数类型;
20220409

2. ASCII 函数

ASCII(获取 ASCII 码)函数用于返回字符串最左侧的 ASCII 代码值;
ASCII 函数语法格式为:

ASCII(character_expression)

charracter_expression 为 char 或 varchar 类型的表达式,函数返回值为 int;

例子 1:将 ‘BAC’ 三个字母分别转换为 ASCII 码

select ASCII(Left('BAC',1)) as 'B',
	ASCII(substring('BAC',2,1)) as 'A',
	ASCII(substring('BAC',3,1)) as 'C'

20220409

3. Charindex 函数

Charindex 函数用于返回字符串中指定的表达式的起始位置;
Charindex 函数的语法为:

Charindex(expressionToFin,expressionToSearch[,start_location])

参数 expressionToFind 包含要查找的字符串;
参数 expressionToSearch 为要查找字符串的表达式;
参数 srtar_location 表示查找的起始位置,若未指定 start_location,或该参数为负数或 0,就从头开始搜索;
若为找到字符串,就返回字符串的位置,否则返回 0;

例子 2:用 Charindex 函数查找字符在表达式的所处的位置

select CHARINDEX('teac','I am teacher!!'),CHARINDEX('2019','SQL Server 2008')

20220408

4. Left 函数

Left 函数用来返回字符串中从左开始指定个数的字符;
Left 函数的语法格式为:

Left(character_expression,integer_expression)

character_expression 为字符或二进制数据的表达式,可以为常量、变量或列;
character_expression 可以为任何能够隐式转换为 varchar 或 nvarchar 的数据类型,text 或 ntext 除外;
否则,需要使用 CAST 函数对 character_expression 进行显式转换;
integer_expression 必须为正整数,指定 character_expression 将返回的字符数;

5. Right 函数

Right 函数用于返回字符串中从右边开始指定个数字符;
Right 函数的语法格式为:

Right(character_expression,integer_expression)

character_expression 为字符或二进制数据表达式,可以为常量、变量或列;
character_expression 可以为任何能够隐式转换为 varchar 或 nvarchar 的数据类型,text 或 ntext 除外;否则,需要使用 CAST 函数对 character_expression 进行显式转换;
integer_expression 必须为正整数,指定 character_expression 将返回的字符数;

6. Len 函数

Len 函数返回指定字符串表达式的字符数,其中不包括含尾随空格
该函数返回的字符数非字节数,单字节与双字节的字符返回相同的值;
若需要返回字节数,可参考 Datalength 函数;
Len 函数的语法格式为:

Len(string_expression)

string_expression 为计算的字符串表达式;

例子 3:用 Len 函数计算字符串长度

select LEN('我是一名教师tea')
select DATALENGTH('我是一名教师tea')

20220408
第一句表达式中 “我是一名教师” 的长度为 6;
第二句表达式中 “我是一名教师” 的长度是 12;还会计算字符串中的空格长度;
注意 : Len 函数 返回的是字符数,即英文字符和中文字符俊返回相同的值,若获取字符串的字节数,应使用 Datalength 函数;

7. Replace 函数

Replace 函数用于使用另一个字符串替换指定字符串;
Replace 函数的语法格式为:

Replace(string_expression,string_pattern,string_replacement)

string_expression 为要搜索的字符串表达式,sting_pattern 为要查询的子字符串,string_replacement 为要替换字符串;
例子 4:用 Replace 函数将字符串 “我是一名学生” 中的 “学生” 替换为 “教师”

select '我是一名学生' as '使用函数前',
REPLACE('我是一名学生','学生','教师') as '使用函数后'

20220408

8. Reverse 函数

Reverse 函数返回字符串的逆序;
Reverse 函数的语法格式为:

Reverse(string_expression)

string_expression 是字符串或二进制数据类型的表达式;
string_expression 可以为常量、变量,也可是字符或二进制数据列;
例子 5:用 Reverse 函数逆向输出字符串“School&Teacher”

select REVERSE('School&Teacher') as 'Reverse 函数'

20220408

9. Str 函数

Str 函数将数字数据转换为字符数据;
Str 函数的语法格式为:

Str(float_expression[,legth[,decimal]])

参数 float_expression 为带小数点的近似数字(float)数据类型的表达式;
参数 length 为总长度,包括小数点、符号、数字和空格,默认值为 10;
参数 decimal 为小数点右边的小数位数
参数 length 和 decimal 值应是整数;

例子 6:用 Str 函数输出命名和年龄

select Name+'今年多少岁'+STR(Age)+'岁'
from B

20220408
注意: Str 函数的功能由 cast 或 Convert 函数实现,但在使用 Cast 或 Convert 实现类型转换时需要指定字符长度,否则 SQL 将长度设置为30;

10. Substring 函数

Substring 函数返回字符、二进制、文本或图像表达式的一部分;
Substing 函数的语法格式为:

Substring(expression,start,length)

参数 expression 是character、binary、text、next 或 image 表达式,参数 start 指定返回字符的起始位置,length 指定要返回的字符数;
若参数 expression 是其中一个受支持的字符数据类型,就返回字符数据;如 expression 是支持的 binary 数据类型中的一种数据类型,就返回二进制数据;

例子 7:用 Substring 函数获取字符串的子串

select SUBSTRING('I am Teacher!',3,4)

20220408
例子 8:用 Substring 函数获取课程名称(课程保留4个汉字)

select CNo,SUBSTRING(CN,1,4) as '课程'
from C

20220408

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐