转自:http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html

以下所有例子均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

结果为:

sqlserver 字符串函数的更多相关文章

  1. MSSQL sqlserver系统函数教程分享

    摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...

  2. ylb:SQLServer常用系统函数-字符串函数、配置函数、系统统计函数

    原文:ylb:SQLServer常用系统函数-字符串函数.配置函数.系统统计函数 ylbtech-SQL Server:SQL Server-SQLServer常用系统函数 -- ========== ...

  3. SQLSERVER常见系统函数之字符串函数(一)

    好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...

  4. SQLServer系统函数之字符串函数

    一.字符串函数 参数character_expression:由字符数据组成的字母数字表达式,可以是常量或变量,也可以是字符列或二进制数据列 参数integer_expression:是正整数,如果 ...

  5. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  6. SQL Server:字符串函数

    以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from ...

  7. mysql 开发基础系列5 字符串函数

    字符串函数 1.  concat (s1,s2,...sn) 连接里面的参数成一个字符串(注意上面写错了函数名称) SELECT CONCAT('ddd','CCC'); 2.  insert(str ...

  8. sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数

    一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...

  9. (转自aierong原创技术随笔)sqlserver字符串拆分(split)方法汇总

    sqlserver字符串拆分(split)方法汇总   --方法0:动态SQL法declare @s varchar(100),@sql varchar(1000)set @s='1,2,3,4,5, ...

随机推荐

  1. yii2的form表单用法

    使用表单 本章节将介绍如何创建一个从用户那搜集数据的表单页.该页将显示一个包含 name 输入框和 email 输入框的表单.当搜集完这两部分信息后,页面将会显示用户输入的信息. 为了实现这个目标,除 ...

  2. 题解报告:hdu 1232 畅通工程(并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了 ...

  3. MVC系列学习(五)-传递数据 与 接收数据

    1.控制器向视图传递数据 a.使用ViewData b.使用ViewBag c.使用Model 方式二: d.使用TempData 2.为什么在控制器中设置了一些属性,在视图中可以接受 3.Actio ...

  4. Java中 == 和 equals()

    记住三句话 1. 语义上:==指的是内存引用一样.equals是指的是逻辑相等.逻辑相等具体的意思由编写者决定(即在引用类型中,"=="是比较两个引用是否指向堆内存里的同一个地址( ...

  5. [ NOIP 2008 ] TG

    \(\\\) \(\#A\) \(Word\) 给出一个长为\(N\)的小写字母串,判断出现所有字母中最多出现次数减最少出现次数得到的答案是否是质数. \(N\in [1,100]\) 直接按题意开桶 ...

  6. python--9、进程及并发知识

    进程 一个文件的正在执行.运行过程就成为一个进程.执行多个程序,把程序文件都加载到内存,并且多个程序的内存空间隔离--空间上的复用. 遇到IO等待,切CPU到别的程序,提升效率.没有IO,一个程序占用 ...

  7. JS——缓慢动画封装

    在知道如何获取内嵌式和外链式的标签属性值之后,我们再次封装缓慢动画: 单个属性 <!DOCTYPE html> <html> <head lang="en&qu ...

  8. CAD保存DWG文件,设置保存的文件版本号和密码

    主要用到函数说明: MxDrawXCustomFunction::Mx_SaveDwgEx 保存DWG文件,可以设置保存的文件版本号和密码,详细说明如下: 参数 说明 IN CString sFile ...

  9. Scala 技术笔记之 Option Some None

    避免null使用 大多数语言都有一个特殊的关键字或者对象来表示一个对象引用的是“无”,在Java,它是null.在Java 里,null 是一个关键字,不是一个对象,所以对它调用任何方法都是非法的.但 ...

  10. Lua之尾调函数的用法

    Lua之尾调函数的用法 --当函数的最后返回结果调用另一个函数,称之为尾调函数 function f(x) return g(x) end --由于“尾调用”不会耗费栈空间,所以一个程序可以拥有无数嵌 ...