sqlserver字符串处理函数
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长度大于字符串长度,则返回原字符串)
- left和right函数返回输入字符串从左或右开始的n个字符
left(sting,n) / right(string,n)
eg: select left('abcde',3)返回字符串'abc'
select right('abcde',3)返回字符串'cde'
- len和datalength函数分别返回字符串中的字符数以及字符串中的字节数
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'
- upper和lower函数将字符串转换为大写或小写
upper(string) / lower(string)
- rtrim和ltrim函数删除字符串中的尾随空格或前导空格
rtrim(string) / ltrim(string)
eg: select rtrim(ltrim(' abc '))
转载于:https://www.cnblogs.com/wxyz94/p/9346863.html
sqlserver字符串处理函数相关推荐
- Sqlserver 字符串截取函数
Sqlserver字符串截取函数,常用的有3个,left,right和substring. 故名思议,left从左侧取,right从右侧取,substring从指定位置取几位. 主要应用在两个方面: ...
- 【转载】Sqlserver使用Right函数从最右边向前截取固定长度字符串
在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,其中Left函数表示从开始字符向后截取多少个字符,Right函数表 ...
- SQLServer截取字符串常用函数
SQL Server中一共提供了三个字符串截取函数:LEFT().RIGHT().SUBSTRING(). 一.LEFT()函数 函数说明如下: 语法:LEFT(character,integer). ...
- 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)& ...
- mysql sql字段切割_sqlserver中字符串切割函数总结
本文章收藏了大量的在sqlserver中字符串切割函数,包括了自用自定义函数或sql带带的函数来操作,有需要了解的同学可参考一下 实例1 循环while一个个读取 代码如下 复制代码 ALTER FU ...
- 【数据库】HIVE SQL中的字符串连接函数(CONCAT)
众所周知,在MySQL.SQLSERVER中,都有字符串连接函数,那么,HQL也不例外. 在学习.工作中,不可避免的会遇到需要将两个字段合并展示的需要. 最基础的一个方法是:CONCAT('abc', ...
- c语言计算字符串的函数是什么,字符函数
字符函数(character function)是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据. 中文名 字符函数 外文名 character function 应用领域 计算机等涉 ...
- c语言字符串作为函数返回值的类型,返回字符串类型的函数怎么写?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 描述 请判断一个数是不是水仙花数. 其中水仙花数定义各个位数立方和等于它本身的三位数. 输入 有多组测试数据,每组测试数据以包含一个整数n(100< ...
- 编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET
编写字符串反转函数 - 小小外星人的技术博客 - 博客频道 - CSDN.NET 编写字符串反转函数 分类: 笔试面试题 2010-11-07 20:47 863人阅读 评论(0) 收藏 举报 首先用 ...
- 一个效率更高的全半角字符串截取函数
[原创,转载请注明:[url]http://wfyang.blog.51cto.com[/url]] 现在流传的那几个字符串截取函数,一般都是对字符串进行循环判断,如果要截取的串比较长,效率就成了一个 ...
最新文章
- 戳戳HackShield Ring0反調試
- 图像滤波与OpenCV中的图像平滑处理
- 第八章 Health Check
- 没想到吧,让你一秒变身纸片人的爆火AI特效,背后还有这么多知识点
- python下载大文件-使用python通过FTP下载大文件
- 起风了2019-12-26
- SQL server 2000 和2005中怎么让ldf文档变小
- [蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)
- isinstanceof java_scala中的isInstanceOf和asInstanceOf
- hermite插值法 matlab,分段三次Hermite插值Matlab实现
- windows11安装MAVEN
- java企业员工健康体检预约系统 python/php小程序 医院体检预约系统
- 【数字信号处理】离散时间信号 ( 离散时间信号 与 连续时间信号 关系 | 序列表示法 | 列表法 | 函数表示法 | 图示法 )
- vue实用echart饼图legend显示百分比
- Linux source文件后提示 export:command not found
- HTC Android系统 自定义ROM定制图文教程
- oracle 11.2.0.3RAC升级到11.2.0.4
- 软通动力华为java机考题库_软通动力Java考试题库.doc
- 鸽子学Python 之 Pandas数据分析库
- 2013电大c语言程序设计,2013年一月电大考试C语言程序设计(A)
热门文章
- [渝粤教育] 广东-国家-开放大学 21秋期末考试国际私法10216k1
- [渝粤教育] 西南科技大学 试验统计方法 在线考试复习资料2021版
- 应用机器学习(八):线性模型
- Blender Reference Manual 欢迎使用Blender手册!
- bzoj1396: 识别子串
- hdu 6108 小C的倍数问题
- iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说
- 【转】OpenGL Related Development ToolKits
- Nginx基础详细讲解
- C#基础笔记(第十天)