SQL Server中截取字符串常用函数

截取字符串中的最后一个斜杠后的所有字符:

SELECT A.PIC_URL,

RIGHT(A.PIC_URL,(CHARINDEX('/',REVERSE(A.PIC_URL))-1))

FROM DBO.TXT_PIC A;

SQL Server 中截取字符串常用的函数:

1.LEFT ( character_expression , integer_expression )
函数说明:LEFT ( '源字符串' , '要截取最左边的字符数'  )
返回从字符串左边开始指定个数的字符
select LEFT('SQL_Server_2008',4 );
返回结果:SQL_

2.RIGHT ( character_expression , integer_expression )
函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数'  )
返回字符串中从右边开始指定个数的 integer_expression 字符
select RIGHT('SQL_Server_2008',4 );
返回结果:2008

3.SUBSTRING ( character_expression , start , length )
函数说明:SUBSTRING ( '源字符串' , '截取起始位置(含该位置上的字符)' , '截取长度' )
返回字符、binary、text 或 image 表达式的一部分
select SUBSTRING('SQL_Server_2008',5 ,6);
返回结果:Server

sql server中截取字符串的常用函数
我们如果要在sql server中,使用截取字符串的方法要怎样使用呢?

sql server提供了3个常用截取字符串方法,LEFT()、RIGHT()、SUBSTRING()

复制代码
/******  Sql Server中截取字符串的常用方法  ******/

--1、LEFT()方法---
--函数说明---
--1)语法:LEFT(character,integer)  
--2)介绍:参数1:要截取的字符串,参数2:截取字符个数
--3)使用:
--返回从字符串左边开始指定个数的字符--
select LEFT('SqlServer_2008',3)
--4)返回:Sql

--1、RIGHT()方法---
-- right()函数说明---
--1)语法:RIGHT(character,integer)  
--2)介绍:参数1:要截取的字符串,参数2:截取字符个数
--3)使用:
--返回从字符串右边开始指定个数的字符--
select LEFT('SqlServer_2008',4)
--4)返回:2008

--1、SUBSTRING()方法---
-- substring()函数说明---
--1)语法:SUBSTRING(character,start,length)  
--2)介绍:参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度
--3)使用:
--返回从字符串中间的字符--
select SUBSTRING('SqlServer_2008',4,6)
--4)返回:Server
复制代码
实例如下:

复制代码
--截取字符串左边3个字符--
select LEFT('Welcome to China!',7) as 结果1
--截取字符串右边4个字符--
select RIGHT('Welcome to China!',6) as 结果2
--截取字符串中间6个字符(第二个从哪个字符下标开始)
select SUBSTRING('Welcome to China!',9,2) as 结果3

实例结果:

实例结果:

SQL Server中判断字符串出现的位置及字符串截取

首先建一张测试表:

create table teststring(name nvarchar(100));
insert into teststring
values
('张三,李四,王五,马六,萧十一,皇宫');

1.判断字符串中某字符(字符串)出现的次数,第一次出现的位置最后一次出现的位置:

查看’,’出现的次数

select LEN(name)-LEN(REPLACE(name,',','')) from teststring;

查看’,’第一次出现的位置:

select CHARINDEX(',',name) from teststring;

查看’,’最后一次出现的位置:

select len(name)-(CHARINDEX(',',REVERSE(name))-1) from teststring;

2.取出以’,’分隔开的字符(串),这个例子中就是’张三’、’李四’等

这是有规律的,首先应该想到有没有特定的系统函数实现,好像没有,其次就应该想到循环了。

当我把’张三’取出后,怎样把’张三,’去掉呢?

取’张三’不难,

select SUBSTRING(name,1,CHARINDEX(',',name)-1) from teststring;

如何把’张三,’去掉呢?开始我也不知道,baidu、google啊,关键字sql、split吧,总之我也是搜的

select STUFF(name,1,CHARINDEX(',',name),'') from teststring;

好像用replace也能实现

select REPLACE(name,substring(name,1,CHARINDEX(',',name)),'') from teststring;

那现在就差循环了,我很少写存储过程或函数的,语法都不记得,用的时候现查(经常用就记得了),我都写匿名的存储过程,哈哈

create table teststring2(name nvarchar(100));

declare @name nvarchar(100);
select @name= name from teststring;
while(CHARINDEX(',',@name)<>0)
begin
insert into teststring2 select SUBSTRING(@name,1,CHARINDEX(',',@name)-1);
set @name=STUFF(@name,1,CHARINDEX(',',@name),'');
set @i=@i+1;
end
insert into teststring2
select @name

select * from teststring2就可以看到了。

这只是表中只有一个字段的,如果多的话,用表变量应该就可以了。

表变量我也不会,之前用过一次,用过就忘记了,偶尔用一次!知道有这个东西就好了,至少遇到问题思考时能想到这东西。

以上都是基于我最近做公司考勤时候用的,大概就是php的网页,姓名文本框里需要输入用户姓名,但是一次输入一个,得添加多次,如果我把后台数据库姓名这字段设置大些,一次就可以输入多个姓名,但姓名与姓名之间用逗号隔开,我就可以在数据库里处理了。



小麦苗课程

小麦苗课堂开课啦,如下是现有的课程,欢迎咨询小麦苗:

课程名称

课时

上课时间(可根据情况调整)

价格

OCP(从入门到专家)

每年1期,35课时左右/期

每周一、周三、周四、周六

20:00-22:00

1588

OCM认证

每年N期,9课时/期

每周二、周五

20:00-22:00

22888

高可用课程(rac+dg+ogg)

每年1期,20课时左右/期

每周一、周三、周四、周六

20:00-22:00

1888

Oracle初级入门

每年1期,15课时左右/期

每周一、周三、周四、周六

20:00-22:00

800

Oracle健康检查脚本

可微信或微店购买。

88

Oracle数据库技能直通车

包含如下3个课程:

①《11g OCP网络课程培训》(面向零基础) 价值1600元

②《11g OCM网络班课程培训》(Oracle技能合集)价值10000+元

③《RAC + DG + OGG 高可用网络班课程》 价值2000元

以上3个课程全部打包只要5888,只要5888所有课程带回家,终身指导!所有课程都是在线讲课,不是播放视频,课件全部赠送!

注意:以上OCP和OCM课程只包括培训课程,不包括考试费用。

5888

注意:

1、每次上课前30分钟答疑。

2、OCM实时答疑,提供和考试一样的练习模拟环境,只要按照老师讲的方式来练习,可以保证100%通过。

3、授课方式:YY语音网络直播讲课(非视频) + QQ互动答疑 + 视频复习。其中,OCM在上海开设现场班。

4、OCP课时可以根据大家学习情况进行增加或缩减。

5、以上所有课程均可循环听课。

6、12c OCM课程私聊。

7、Oracle初级入门课程,只教大家最实用+最常用的Oracle操作维护知识。

8、以上所有课程,可以加小麦苗微信(lhrbestxh)或QQ(646634621)详聊,优惠多多。

培训项目

连接地址

DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

OCP培训说明连接

https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA

OCM培训说明连接

https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA

高可用(RAC+DG+OGG)培训说明连接

https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw

OCP最新题库解析历史连接(052)

http://mp.weixin.qq.com/s/bUgn4-uciSndji_pUbLZfA

微店地址

https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 网名:小麦苗

● QQ:646634621

● QQ群:618766405

● 我的博客:http://blog.itpub.net/26736162/abstract/1/

● 微信公众号:xiaomaimiaolhr,二维码如下:

● 小麦苗的微信二维码如下所示,加我时请备注相关信息:

● 我的微店地址:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/

● 博客链接:http://blog.itpub.net/26736162/abstract/1/

● 小麦苗课堂资料(视频+讲课资料):https://share.weiyun.com/5fAdN5m



 

 

7、Oracle初级入门课程,只教大家最实用+最常用的Oracle操作维护知识。


About Me

.............................................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群号:230161599(满)、618766405

● 微信群:可加我微信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2018-06-01 06:00 ~ 2018-06-31 24:00 在魔都完成

● 最新修改时间:2018-06-01 06:00 ~ 2018-06-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

.............................................................................................................................................

● 小麦苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/

● 小麦苗OCP、OCM、高可用网络班:http://blog.itpub.net/26736162/viewspace-2148098/

.............................................................................................................................................

使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

小麦苗的微信公众号      小麦苗的DBA宝典QQ群2     《DBA笔试面试宝典》读者群       小麦苗的微店

.............................................................................................................................................

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2156459/,如需转载,请注明出处,否则将追究法律责任。

SQL Server中字符串处理函数相关推荐

  1. SQL Server中的STRING_SPLIT函数

    This article will cover the STRING_SPLIT function in SQL Server including an overview and detailed u ...

  2. MySQL、SQL Server中字符串拼接

    一.MySQL中字符串拼接 1.使用加号"+"实现 在Java.C#等编程语言中字符串的拼接可以通过加号"+"来实现, 在MySQL中也可以使用加号" ...

  3. percent sql_使用SQL Server中的PERCENT_RANK函数计算SQL百分位数

    percent sql This article explores the SQL Server PERCENT_RANK analytical function to calculate SQL P ...

  4. SQL Server中的Replicate函数。循环字符次数,可用于多层分类

    描述 REPLICATE :以指定的次数重复字符表达式. 语法 REPLICATE ( character_expression , integer_expression ) 参数 character ...

  5. sql游标 while_用SQL Server中的排名函数替换SQL While循环和游标,以提高查询性能

    sql游标 while SQL While loop and cursor are the most common approach to repeat a statement on conditio ...

  6. SQL SERVER中的方差函数

    1.偏差:一组数据偏离其平均数的值 2.方差:各个偏差的平方的平均数 3.标准偏差:方差的平方根 SQL SERVER中关于方差的函数: 1.STDEV 返回给定表达式中所有值的统计标准偏差. 2.S ...

  7. [MSSQL]SQL Server中的RAND函数的介绍和区间随机数值函数的实现

    转自:http://www.cnblogs.com/dzy863/p/5063558.html 工作中会遇到SQL Server模拟数据生成以及数值列值(如整型.日期和时间数据类型)随机填充等等任务, ...

  8. SQL Server中的四舍五入函数ROUND

    目录 目录 通过函数ROUND四舍五入 通过函数ROUND截断 参考资料 通过函数ROUND四舍五入 在SQL Server中若想完成四舍五入,可使用函数ROUND.如下是对函数ROUND的使用的简单 ...

  9. mysql的datepart函数_MySQL中的 DATE_FORMAT 与 SQL Server中的 DATEPART()函数使用介绍

    本小白最近学习MySQL,因为之前是已经有学过微软大佬的SQL Server所以自认为理解的还是稍快的(滑鸡),好了说正事. 今天在写一个查询语句时,需要用到 一个日期函数:DATEPART( ) 因 ...

最新文章

  1. popwindow下拉筛选 二级联动_职场人必备!一分钟搞定Excel二级联动下拉菜单
  2. 天哪!我的十一假期被AI操控了
  3. python自加自减_Java自增和自减运算符(++和--)
  4. 以下属于python标准库的选项是-Python 标准库一览(Python进阶学习)
  5. hdu 4430 Yukari's Birthday (简单数学 + 二分)
  6. 堆栈溢出 java_堆栈溢出回答了我们所不知道的Java首要问题
  7. 服务器重装 pe,WinPE 下安装 Windows Server 2003 服务器
  8. matlab中右三角形方向,《有限元基础教程》_【MATLAB算例】4.7.1(2) 基于3节点三角形单元的矩形薄板分析(Triangle2D3Node)...
  9. 中国首个芯片大学最快于本月底在南京挂牌;​华为方舟编译器正式支持 C 语言;Ora2Pg v21.0 发布|极客头条
  10. JVM技术周报第1期
  11. java锁的对象引用
  12. KingDZ 变菜鸟,每日一个C#小实例之---玩转鼠标
  13. docker安装vim
  14. MyBatis之one2one与one2many
  15. 笔记(待续)-基于梯度下降法的RBF神经网络控制
  16. 新品周刊 | 雀巢脆脆鲨推出坚果巧克力威化;金宾波本威士忌推出父子合作酒品...
  17. 研发管理进阶:边怼人边改进
  18. 一睹风采,见证郁锦香酒店遍布全球核心城市的百变姿态
  19. 关于不过洋节的通知_关于不过洋节的作文 3篇
  20. php 一年多少天,【后端开发】php获取一年有多少天

热门文章

  1. 电商卖家如何经营社群运营?你该如何做才能用社群来实现盈利?
  2. 确定了,2022下半年软考报名8月开始
  3. ReplayKit 的屏幕录制功能
  4. 卷积神经网络 图像识别,卷积神经网络图像处理
  5. 韩国EN电源维修EnerStream20直流电源维修详解
  6. 中国农业大学计算机就业薪资,2020年工资出炉,这个行业倒数第一,不过这类大学专业有金矿可挖...
  7. 人口普查2021/5/9
  8. LaTex 之 字体和特殊符号
  9. c语言中函数名可变,C语言中可变参数函数
  10. 关于计算机系的三句半,网络流行语言俏皮话三句半.doc