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   '))

  

转载于:https://www.cnblogs.com/wxyz94/p/9346863.html

sqlserver字符串处理函数相关推荐

  1. Sqlserver 字符串截取函数

    Sqlserver字符串截取函数,常用的有3个,left,right和substring. 故名思议,left从左侧取,right从右侧取,substring从指定位置取几位. 主要应用在两个方面: ...

  2. 【转载】Sqlserver使用Right函数从最右边向前截取固定长度字符串

    在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,其中Left函数表示从开始字符向后截取多少个字符,Right函数表 ...

  3. SQLServer截取字符串常用函数

    SQL Server中一共提供了三个字符串截取函数:LEFT().RIGHT().SUBSTRING(). 一.LEFT()函数 函数说明如下: 语法:LEFT(character,integer). ...

  4. sqlserver字符串拆分(split)方法汇总

    declare @s varchar(100),@sql varchar(1000) set @s='1,2,3,4,5,6,7,8,9,10,11' while(charindex(',',@s)& ...

  5. mysql sql字段切割_sqlserver中字符串切割函数总结

    本文章收藏了大量的在sqlserver中字符串切割函数,包括了自用自定义函数或sql带带的函数来操作,有需要了解的同学可参考一下 实例1 循环while一个个读取 代码如下 复制代码 ALTER FU ...

  6. 【数据库】HIVE SQL中的字符串连接函数(CONCAT)

    众所周知,在MySQL.SQLSERVER中,都有字符串连接函数,那么,HQL也不例外. 在学习.工作中,不可避免的会遇到需要将两个字段合并展示的需要. 最基础的一个方法是:CONCAT('abc', ...

  7. c语言计算字符串的函数是什么,字符函数

    字符函数(character function)是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据. 中文名 字符函数 外文名 character function 应用领域 计算机等涉 ...

  8. c语言字符串作为函数返回值的类型,返回字符串类型的函数怎么写?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 描述 请判断一个数是不是水仙花数. 其中水仙花数定义各个位数立方和等于它本身的三位数. 输入 有多组测试数据,每组测试数据以包含一个整数n(100< ...

  9. 编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET

    编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET 编写字符串反转函数 分类: 笔试面试题 2010-11-07 20:47 863人阅读 评论(0) 收藏 举报 首先用 ...

  10. 一个效率更高的全半角字符串截取函数

    [原创,转载请注明:[url]http://wfyang.blog.51cto.com[/url]] 现在流传的那几个字符串截取函数,一般都是对字符串进行循环判断,如果要截取的串比较长,效率就成了一个 ...

最新文章

  1. 戳戳HackShield Ring0反調試
  2. 图像滤波与OpenCV中的图像平滑处理
  3. 第八章 Health Check
  4. 没想到吧,让你一秒变身纸片人的爆火AI特效,背后还有这么多知识点
  5. python下载大文件-使用python通过FTP下载大文件
  6. 起风了2019-12-26
  7. SQL server 2000 和2005中怎么让ldf文档变小
  8. [蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)
  9. isinstanceof java_scala中的isInstanceOf和asInstanceOf
  10. hermite插值法 matlab,分段三次Hermite插值Matlab实现
  11. windows11安装MAVEN
  12. java企业员工健康体检预约系统 python/php小程序 医院体检预约系统
  13. 【数字信号处理】离散时间信号 ( 离散时间信号 与 连续时间信号 关系 | 序列表示法 | 列表法 | 函数表示法 | 图示法 )
  14. vue实用echart饼图legend显示百分比
  15. Linux source文件后提示 export:command not found
  16. HTC Android系统 自定义ROM定制图文教程
  17. oracle 11.2.0.3RAC升级到11.2.0.4
  18. 软通动力华为java机考题库_软通动力Java考试题库.doc
  19. 鸽子学Python 之 Pandas数据分析库
  20. 2013电大c语言程序设计,2013年一月电大考试C语言程序设计(A)

热门文章

  1. [渝粤教育] 广东-国家-开放大学 21秋期末考试国际私法10216k1
  2. [渝粤教育] 西南科技大学 试验统计方法 在线考试复习资料2021版
  3. 应用机器学习(八):线性模型
  4. Blender Reference Manual 欢迎使用Blender手册!
  5. bzoj1396: 识别子串
  6. hdu 6108 小C的倍数问题
  7. iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说
  8. 【转】OpenGL Related Development ToolKits
  9. Nginx基础详细讲解
  10. C#基础笔记(第十天)