`
王树雄
  • 浏览: 243469 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

sql 字符串常用函数

阅读更多

以下所有例子均Studnet表为例:

计算字符串长度
len()用来计算字符串的长度

select sname ,len(sname) from student

字符串转换为大、小写
lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写

select lower('I AM A STUDENT !')
select upper('i am a student !')

截去字符串左、右侧空格
ltrim() 用来将一个字符串左侧的空格去掉 ,rtrim()用来将一个字符串右侧的空格去掉

declare @str varchar(100)
set @str=' 我的左侧有空格!'
select @str
as 初始字符, len(@str) as 初始长度,ltrim(@str) as 现有字符,len(ltrim(@str)) as 现有长度

返回由重复的空格组成的字符串
space(
integer_expression) integer_expression 指示空格个数的正整数。如果 integer_expression 为负,则返回空字符串。

select 'A'+ space(2)+'B'

取子字符串
substring(string,start_position,length) 可以从任意位置取任意长度的子字符串,
left(string,length) 从左侧开始取子字符串
right(string,length)从右侧开始取子字符串

select substring('HelloWorld!',6,6)
select left(
'HelloWorld!' ,5)
select
right('HelloWorld!' ,6)

字符串替换
replace(string,要被替换的字符串,替换的字符串)

select replace('HelloWorld!','o','e') 结果为:HelleWerld!

返回字符串值的逆向值
reverse(string_expression)

select reverse('abc') 结果为:cba

删除指定长度的字符,并在指定的起点处插入另一组字符
stuff(character_expression , start , length ,character_expression)
start 一个整数值,指定删除和插入的开始位置。
length 一个整数,指定要删除的字符数。

select stuff('abcdefg',1,6,'Hello ') 结果为:Hello g

以指定的次数重复字符串值
replicate(
string_expression ,integer_expression)

select replicate('abc',4) 结果为:abcabcabcabc

返回字符串中指定表达式的开始位置
charindex(expression1 ,expression2 , start_location )或charindex(expression1 ,expression2 )
expression1在expression2 中的开始位置

select charindex('H','elloHWorld') 结果为:5

返回指定表达式中模式第一次出现的开始位置
patindex('%pattern%',expression)
返回指定表达式中某模式第一次出现的起始位置;
如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。

select patindex('%Hello%','WorldHello') 结果为:6

返回输入表达式的第一个字符的整数值
unicode( 'ncharacter_expression' ) ' ncharacter_expression ' 为 nchar nvarchar 表达式。

select unicode('a') 结果为:97
select unicode(
'abc') 结果为:97

返回由数字数据转换来的字符数据
str(
float_expression , length ,decimal )
float_expression 带小数点的近似数字 (float) 数据类型的表达式。
length 总长度。它包括小数点、符号、数字以及空格。默认值为 10。
decimal 小数点右边的小数位数。decimal 必须小于等于 16。如果 decimal 大于 16,则将结果截断为小数点右边的 16 位。

复制代码
select str(123.436,2), len(str(123.436,2)) //当表达式超出指定长度时,字符串为指定长度返回 **

select str(
123.436), len(str(123.436)),
str(
123.436,6), len(str(123.436,6)),
str(
123.436,6,1), len(str(123.436,6,1)) //由六个数字和一个小数点组成的表达式转换为有六个位置的字符串。
数字的小数部分舍入为一个小数位。

select str(
1234.436), len(str(1234.436)),
str(
1234.436,6), len(str(1234.436,6)),
str(
1234.436,6,1),len(str(1234.436,6,1))
复制代码

结果为:

得到字符的ASCII码
ascii()用来得到一个字符的ASCII码,它有且只有一个参数,如果参数为字符串,那么取第一个字符的ASCII码

select ascii('H')
select ascii(
'HelloWorld!')

得到一个与ASCII码数字对应的字符
Char(integer_expression) integer_expression 介于 0 和 255 之间的整数。如果该整数表达式不在此范围内,将返回 NULL 值。

select Char(72)

返回返回具有指定的整数代码的 Unicode 字符
nchar(integer_expression) integer_expression 介于 0 与 65535 之间的正整数。如果指定了超出此范围的值,将返回 NULL。

select nchar(1000)

返回带有分隔符的 Unicode 字符串,分隔符的加入可使输入的字符串成为有效的 SQL Server 分隔标识符。
quotename('character_string') character_string 不得超过 128 个字符。超过 128 个字符的输入将返回 NULL。

select quotename('abc[aa]def')

结果为:[abc[]]def] 请注意,字符串 abc[]def 中的右方括号有两个,用于指示转义符。
select QUOTENAME('abcdef','''') --分隔符是两个单引号
-- 'abcdef'
select QUOTENAME('abcdef') --分隔符是]
-- [abcdef]
select QUOTENAME('abcdef','{}') --分隔符是}
-- {abcdef}

发音匹配度
有时候我们并不知道一个人姓名的拼写,但是我们知道他的发音,这时我们可以进行发音的匹配度测试。
soundex()用于计算一个字符串的发音特征性,这个特征值为一个四个字符的字符串,特征性的第一个字符总是初始字符串中的第一个字符,而后是一个三位数的数值。

select sname ,soundex(sname) from student

结果为:

发音特征值的含义非常复杂,如果要根据两个发音特征值来分析两个字符串的发音相似度的话非常麻烦。
可以使用difference()来简化两个字符串的发音相似度比较,它可以计算两个字符串的发音特征值,并且比较它们,
然后返回一个0~4之间的值来反映两个字符串的发音相似度,这个值越大则表示两个字符串的发音相似度越大。

select sname,soundex(sname), difference(sname,'Herry') from stu

结果为:

分享到:
评论

相关推荐

    SQL 字符串处理函数

    SQL 字符串处理函数 获取指定的字符

    Oracle_Sql_中常用字符串处理函数

    下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换函数:UPPER() 和 LOWER()。UPPER() 函数将字符串转换为大写,而 LOWER() 函数将字符串转换为小写。 示例:...

    SQL字符串处理函数大全

    SQL字符串处理函数大全

    sql字符串处理函数

    根据提供的文件信息,我们可以归纳总结出一系列关于SQL字符串处理函数的知识点。这些函数在数据库管理和数据操作中扮演着重要的角色,能够帮助用户高效地完成字符串的处理任务。 ### ASCII() ASCII()函数用于获取...

    SQL截取字符串函数

    本文将详细介绍几种常用的SQL截取字符串函数及其应用场景,包括`LEFT`、`RIGHT`、`SUBSTRING`以及一些高级用法如使用`CHARINDEX`、`PATINDEX`、`REPLACE`和`STUFF`等函数来实现更复杂的字符串处理。 #### 一、基本...

    Sqlserver 2014 之 自定义字符串聚合函数

    在SQL Server 2014中,自定义字符串聚合函数是一项重要的编程任务,尤其是在处理大量字符串数据时。标准的T-SQL提供了一些内置的聚合函数,如SUM、AVG、MAX和MIN,但它们并不支持将多个字符串合并为一个单一的字符串...

    常用SQL字符串函数集锦.

    本篇将详细讲解一些常用的SQL字符串函数,以便你在数据库操作中更加得心应手。 1. **CONCAT()** `CONCAT()` 函数用于连接两个或多个字符串。例如: ```sql SELECT CONCAT('Hello', ' ', 'World') AS ...

    SQL字符串拆分函数

    SQL字符串拆分函数,可拆分任何格式的字符串,只需传入待拆分字符串及拆分参数即可

    SQL字符串函数大全

    ### SQL字符串函数详解 #### 一、去空格函数 去空格函数主要用于去除字符串中的空格,这对于数据清洗和标准化特别有用。 ##### LTRIM() - **功能**:LTRIM()函数的作用是从字符串的开头移除所有空格。 - **语法*...

    SQL字符串操作

    SQL 字符串操作是 T-SQL 中的一组功能强大且灵活的字符串处理函数,它可以处理数值型数据和字符型数据。这些函数可以截取和修改字符串的值,转换和手机字符串相关信息,以及执行 SOUNDEX 分析。在本文中,我们将详细...

    SQL Server字符串处理函数大全

    SQL Server字符串处理函数大全 sql server是一个数据库,文档介绍了这个数据库的字符串操作函数

    SQL字符串操作函数.doc

    SQL字符串操作函数是数据库操作中不可或缺的一部分,它们主要用于处理和操作字符型数据,如CHAR、VARCHAR、BINARY和VARBINARY等数据类型。这些函数在SELECT语句、WHERE子句及表达式中都能发挥重要作用,帮助用户进行...

    SQL字符串函数SQL字符串函数SQL字符串函数

    下面列举了一些常用的SQL字符串函数,并详细解释了它们的功能及用法: 1. **CONCAT()** - 功能:将两个或多个字符串连接成一个新字符串。 - 示例:`SELECT CONCAT('Hello', ' ', 'World');` 返回 `Hello World` ...

    sqlserver中根据某个字符切割字符串函数

    sqlserver中根据某个字符切割字符串函数,比如根据逗号切割字符串,结果返回的是一个表值函数,这个函数返回结果字段包含Id和Value,Id为序号,Value为切割后的值

    ABAP字符串SQL Functions语法总结

    接下来,我们将深入探讨几种常用的ABAP SQL字符串函数: 1. `CONCAT(arg1, arg2)`: 这个函数用于连接两个字符串`arg1`和`arg2`。它会忽略尾部空格,并且结果的最大长度为1333个字符。例如: ```abap SELECT matnr,...

    C#扩展SQLServer 2005 字符串聚合函数

    然而,有时系统内置的聚合函数无法满足特定需求,此时就需要利用C#来扩展SQL Server的功能,创建自定义的聚合函数,特别是针对字符串类型的处理。 字符串聚合函数是指能够处理字符串集合并返回单个字符串结果的函数...

    sqlserver中常用函数

    除了字符串函数外,SQL Server还提供了丰富的数学函数来支持复杂的计算需求。 ##### AVG(), COUNT(), MAX(), MIN(), SUM() - **AVG()** 计算平均值。 - **COUNT()** 统计数量。 - **MAX()** 找出最大值。 - **MIN...

Global site tag (gtag.js) - Google Analytics