sqlserver提供了一系列字符串处理函数:substring、left、right、len、charindex、patindex、replace、replicate、stuff、upper、lower、rtrim、ltrim等函数。

  • substring函数用于从字符串中提取子串,从指定位置开始(start),具有特定长度(length)的子字符串。

    substring(string,strat,length)

    eg:  select  substring('abcde',1,3)返回子字符串'abc'

select  substring('abcde',1,8)返回字符串'abcde'(如果length长度大于字符串长度,则返回原字符串)

  • leftright函数返回输入字符串从左或右开始的n个字符

    left(sting,n)            /              right(string,n)

    eg:  select  left('abcde',3)返回字符串'abc'

select  right('abcde',3)返回字符串'cde'

  • lendatalength函数分别返回字符串中的字符数以及字符串中的字节数

    len(string)            /                datalength(string)

    eg:  select  len('and')返回字符数3

           select  datalength(N'abc')返回字节数6

           select len('  abc   ')返回5,无论有多少个连续空格,均计算一次

  注:普通字符,字符串的字符数和字节数是一致的,这是因为一个字符只占一个字节的存储空间

Unicode字符,字符串的字符数和字节数是不一致的,一个字符占用两个字节的空间,故字符数是字节数的一半  

  • charindex函数返回字符串中某个子串首次出现的起始位置

    charindex(substring,string[,start_pos]),可以选择性的指定搜索的起始位置,即对start_pos赋值,未对其赋值则从第一个字符开始搜索

    eg:  select  charindex('m','abnmdemf',5)返回7
           select  charindex('m','abnmdemfcv',8)返回0
           select  charindex('m','abnmdemf',3)返回4

    默认情况下,sqlserver对大小写是不敏感的,但是当设置了对大小写敏感COLLATE Latin1_General_CS_AS时(patindex函数同样适用):

    eg:  select  charindex'test', 'this Test is Test' COLLATE Latin1_General_CS_AS)返回0

           select  charindex'test', 'this Test is Test' COLLATE Latin1_General_CI_AS)返回6

  • patindex函数返回某个模式第一次出现的起始位置

    patindex(pattern,string)

    eg:  select patindex('%[0-9]%','abcd123efgh')返回5,查询数字0-9中任一数字在字符串'abcd123efgh'首次出现的位置,%表示数字前可以匹配任意长度的字符,包括空字符

  • replace函数将字符串中出现的所有某个子串替换为另一个字符串

    replace(string,substring1,substring2)将substring1替换为substring2

    eg:  select replace( 'l-a 2-b',  '-',  ':')返回结果为'1:a 2:b'

  • replicate函数指定的次数复制字符串

    replicate(string,n)

    eg:  select  replicate('abc',3)返回'abcabcabc'

  • stuff函数先删除字符串中的一个子串,再插入一个新的子串作为替换

    stuff(string,pos,delete_length,insertstring)

    eg:  select  stuff('xyz',2,1,'abc')返回'xabcz'

  • upperlower函数将字符串转换为大写或小写

    upper(string)          /         lower(string)

  • rtrimltrim函数删除字符串中的尾随空格或前导空格

    rtrim(string)           /          ltrim(string)

    eg:  select  rtrim(ltrim('  abc   '))

  

SQLSERVER字符串处理函数的更多相关文章

  1. sqlserver 字符串处理函数解释

    1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII ...

  2. SqlServer——字符串处理函数

    1) ASCII Format:ASCII ( character_expression ) Function:返回表达式最左端字符的ASCII值. eg: select ASCII('abcdef' ...

  3. SQLserver字符串分割函数

    一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果.CREATE function Get_StrArrayLength(  @s ...

  4. [转]SQLserver字符串分割函数

    一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果. CREATE function Get_StrArrayLength ( ) ...

  5. sqlserver字符串拆分函数

    CREATE FUNCTION f_splitSTR(@s varchar(8000), --待分拆的字符串@split varchar(10) --数据分隔符)RETURNS @re TABLE(c ...

  6. SQLserver 字符串分割函数

    CREATE function Get_StrArrayStrOfIndex ( @str varchar(), --要分割的字符串 @split varchar(), --分隔符号 @index i ...

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

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

  8. sqlserver学习笔记(六)—— sqlserver内置函数(字符串、日期)

    sqlserver中有很多内置函数,这里总结了一些常用的 一.关于字符串的函数: 1.CHARINDEX 寻找一个指定字符串在另一个字符串中的起始位置 SELECT CHARINDEX('world‘ ...

  9. 【转载】Sqlserver使用SUBSTRING函数截取字符串

    在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,SubString函数相对于其他两个函数来说更灵活,使用场景更多, ...

随机推荐

  1. git使用教程2-更新github上代码

    前面一篇已经实现首次上传代码到github了,迈出了装逼第一步,本篇继续讲如何把本地更新的代码同步更新到github上 一.clone代码 1.把大神的代码clone到本地,或者clone自己gith ...

  2. 3 Dockerfile指令详解-FROM&MAINTAINER&RUN

    1.FROM指令 FROM centos #指定centos为基础镜像 2.MAINTAINER 指令 MAINTAINER @QQ.COM #指定维护人等信息,方便维护 3.RUN  命令  #新建 ...

  3. January 06 2017 Week 1st Friday

    Victory won't come to me unless I go to it. 胜利是不会向我走来的,我必须自己走向胜利. I wish I can walk from one victory ...

  4. [T-ARA][Cry Cry]

    歌词来源: Cry Cry:http://music.163.com/#/song?id=22704434 Cry Cry (Ballad Ver.):http://music.163.com/#/s ...

  5. int vs Integer

    在项目开发过程中,有时候在选择int还是Integer会有些纠结.今天就来聊一下这个问题.当然,下面所说的基本也适用于java中其他基本类型和其包装类型. Definitions: int是原始类型, ...

  6. 从 Swift 中的序列到类型擦除

    如果有这样的一个需求,我希望能像数组一样,用 for 循环遍历一个类或结构体中的所有属性.就像下面这样: let persion = Persion() for i in persion { prin ...

  7. 使用jenkins SonarQube gitlab 构建自动化发布系统

    目前持续集成的生态越来越完善,工具也有很多,开源的或商业的.如: 最最流行的,也是使用最多的 Jenkins 有着持续集成DNA的ThoughtWorks GO.理念:"Deployment ...

  8. VIM之打开、保存文件

    如何使用命令 在Normal mode下,输入':'字符,在GVIM界面左下可以看到如图所示的界面: 这时候可以键入命令,输入完后按下键盘上的Enter键即可执行命令. 打开文件 使用命令:e [文件 ...

  9. Java 数据库操作oracle增删改查,通用封装基于hashmap

    pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A  密码:epkz 1.将ojdbc6.jar导入项目中 ...

  10. 使用navigator.userAgent来进行浏览器嗅探

    /*--------------------------------------------------------------------------------* * 功能描述:使用navigat ...