5、SQL基础整理(字符串函数)

时间:2023-01-14 09:34:26

字符串函数

ASCII

返回字符串首字母的ascii编码

select ASCII('name')

select ASCII(name) from xuesheng

select *from xuesheng where ASCII(name)>=200

CHAR

--将ascii代码转换成对应的字符

select CHAR(13)--回车键

CHARINDEX

在一个表达式中搜索另一个表达式,并返回其起始位置(如果没找到,返回’0’)

select CHARINDEX('efg','abcdefgh')

select CHARINDEX('8',math)from xuesheng

concat

返回作为串联两个或更多字符串值的结果的字符串类似select 'abc'+'def'+'ghi'

*2012版中使用

SOUNDEX

返回一个由四个字符组成的代码 (SOUNDEX),用于评估两个字符串的相似性。

select SOUNDEX('abc'),soundex('abcd')

DIFFERENCE

返回一个整数值,指示两个字符表达式的 SOUNDEX 值之间的差异。

select DIFFERENCE('abc','abcd')

LEFT

select LEFT('abcdef',3)

select LEFT(math,3)from xuesheng

LEN

返回字符串长度,后面的空格不算

select LEN('  123   ')

LOWER

将大写字母转化为小写字母

select lower('ABCDE')

LTRIM

去除左边空格,也就是字符串的前面空格,相当于.net中的trimstart

select LTRIM('   abc   e')

NCHAR

PATINDEX

返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零。(%除在首位或末位能找到外必须加上,若模式在首位加%到末位,若模式在末位加%到首位)语法:PATINDEX ( '%pattern%' , expression )

select PATINDEX('%abc%','1abcdef1')

REPLACE

查找到一个数据,并替换。(并无修改,只是显示)

语法:REPLACE ( string_expression , string_pattern , string_replacement )

select REPLACE('abcde','c','f')

select REPLACE(name,'王','张')from xuesheng

update xuesheng set name = REPLACE(name,'王','张')

(可以更改)

REPLICATE

复制,且能复制0——N次,相当于先剪切后粘贴的过程

select REPLICATE('abc',0)

select REPLICATE('abc',3)

REVERSE

翻转

select REVERSE('abcdef')

RIGHT

(与LEFT相对的)

RTRIM

(与LTRIM相对,去右边的空格)

SPACE

返回一串重复的空格

select 'a'+SPACE(3)+'b'

STR

将一个小数转换为字符串,length是字符串长度,第三个参数是截取小数点后几位(长度不能超过中间参数指定的长度,否则显示***,小数点后几位不能多于中间参数的长度,否则不显示)前面多出来的长度显示为空格,小数部分显示为‘0’

语法:STR ( float_expression [ , length [ , decimal ] ] )

select STR(4467.2345,8,3)

STUFF

删除指定索引位置开始的指定长度的字符,之后再指定索引处插入指定字符

语法:STUFF ( character_expression , start , length , replaceWith_expression )

select stuff('abc123',3,2,'helloworld')

SUBSTRING

返回 SQL Server 中的字符、二进制、文本或图像表达式的一部分。

语法:SUBSTRING ( expression ,start , length )

select SUBSTRING(name,1,1)from xuesheng

UPPER

将字符串中小写字母改为大写

select UPPER('123helloworld')