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 '))
SQLSERVER字符串处理函数的更多相关文章
- sqlserver 字符串处理函数解释
1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII ...
- SqlServer——字符串处理函数
1) ASCII Format:ASCII ( character_expression ) Function:返回表达式最左端字符的ASCII值. eg: select ASCII('abcdef' ...
- SQLserver字符串分割函数
一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果.CREATE function Get_StrArrayLength( @s ...
- [转]SQLserver字符串分割函数
一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果. CREATE function Get_StrArrayLength ( ) ...
- sqlserver字符串拆分函数
CREATE FUNCTION f_splitSTR(@s varchar(8000), --待分拆的字符串@split varchar(10) --数据分隔符)RETURNS @re TABLE(c ...
- SQLserver 字符串分割函数
CREATE function Get_StrArrayStrOfIndex ( @str varchar(), --要分割的字符串 @split varchar(), --分隔符号 @index i ...
- ylb:SQLServer常用系统函数-字符串函数、配置函数、系统统计函数
原文:ylb:SQLServer常用系统函数-字符串函数.配置函数.系统统计函数 ylbtech-SQL Server:SQL Server-SQLServer常用系统函数 -- ========== ...
- sqlserver学习笔记(六)—— sqlserver内置函数(字符串、日期)
sqlserver中有很多内置函数,这里总结了一些常用的 一.关于字符串的函数: 1.CHARINDEX 寻找一个指定字符串在另一个字符串中的起始位置 SELECT CHARINDEX('world‘ ...
- 【转载】Sqlserver使用SUBSTRING函数截取字符串
在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,SubString函数相对于其他两个函数来说更灵活,使用场景更多, ...
随机推荐
- Python学习---抽屉框架分析[小评论分析]0315
注: 此处的小评论涉及数据库操作 初级小评论代码 settings.py INSTALLED_APPS = [ ... 'app01', # 注册app ] STATICFILES_DIRS = (o ...
- Monster: half man, half beast and very scary.
Monster: half man, half beast and very scary. 怪物,半人半兽很吓人.
- nginx+lvs+keepalived安装
安装nginx 配置文件和之前的一样 user nobody nobody; #定义Nginx运行的用户和用户组 worker_processes 4; #nginx进程数,建议设置为等于 ...
- 016.2 String
内容:String方法+练习 #######################################比较方法:equals()字符串长度:int length()字符的位置:int index ...
- 关于memcpy的实现
今天去面试,面试官出了一个关于memcpy的函数原型的实现的问题,本来这个问题是很简单的,但是不知道当时怎么脑子一抽竟然写错了,真是”累觉不爱”了.感觉这份工作算是泡汤了,算了事情发生了,错过了也就错 ...
- memcached的操作
memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库次数,从而提高动态.数据库驱动网站的速度.memcached基于 ...
- Redis.md
rpm 包安装 CentOS 系列系统安装redis可以通过第三方提供的rpm包进行安装: # yum install -y epel-release # yum install -y redis 源 ...
- iOS动画的逻辑结构:动画的定义--动画是采用连续播放静止图像的方法产生物体运动的效果。
动画的定义:视图+时间+空间+速度 视图信息的时空变换: 视图组的按时间逐帧展示: Core Animation 类的继承关系图 各类常用属性 CAMediaTiming:CALayer和Core A ...
- ALICE源代码分析
前言 ALICE(爱丽丝)事实上是"人工语言计算机实体"的英文缩写. 它以前在往年(2000年.2001年和2004年)的勒布纳人工智能奖角逐中三次获胜.并在其它年度中也获过骄人的 ...
- [HNOI2003]多边形
嘟嘟嘟 也是一道半平面相交板子题. 比较好的处理方法是先把原图形全部加入答案,然后在一条边一条边切. 然而第一个点全网(当然包括我)都没过,我最后也只能固输了-- #include<cstdio ...