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函数相对于其他两个函数来说更灵活,使用场景更多, ...
随机推荐
- 2 Docker 镜像基础
Docker 镜像可以从docker.io 下载,也可以自己通过Dockerfile来构建镜像,我有时从国外下载镜像时,网速不行,我就改成国内的镜像,修改如下: # vim /etc/docker/d ...
- January 12 2017 Week 2 Thursday
Although it rains, throw not away your watering pot. 纵然天下雨,休把水壶丢. Don't throw away your watering pot ...
- Python读取Json字典写入Excel表格的方法
需求: 因需要将一json文件中大量的信息填入一固定格式的Excel表格,单纯的复制粘贴肯定也能完成,但是想偷懒一下,于是借助Python解决问题. 环境: Windows7 +Python2.7 + ...
- 3669. [NOI2014]魔法森林【LCT 或 SPFA动态加边】
Description 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M.初始时小E同学在号节 ...
- Hadoop 解除 NameNode is in safe mode
运行Hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Na ...
- 软件分享:将应用一键打包成dmg文件
简介 苹果软件开发完成后,都要打包成dmg文件.通常的做法也许是到系统自带的磁盘工具里制作dmg文件,但这样做比较繁琐,尤其是要打包多个应用时,每次只能制作一个dmg文件很麻烦.分享一个很好用很方便的 ...
- MFC各个控件之间运用SendMessage()传送CString和char[]字符串,以及int类型数据
LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, ...
- 博客存档TensorFlow入门一 1.4编程练习
import tensorflow as tf import numpy import matplotlib.pyplot as plt #from sklearn.model_selecti ...
- vlc源码分析(二) 播放流程
当点击播放文件或者输入要播放的文件后,vlc会执行一系列的流程. 首先需要了解视频以及流媒体处理及播放的流程,由链接中的描述,视频以及流媒体处理时,首先要解协议(http,rtmp,rtsp等),然后 ...
- 解决error possibly undefined macro AC_MSG_ERROR
问题 出现如下缺少宏的问题 error: possibly undefined macro: AC_MSG_ERROR error: possibly undefined macro: AC_SUBS ...