深入SQL截取字符串(substring与patindex)的详解
首先学习两个函数
1.substring 返回字符、binary、text 或 image 表达式的一部分。
基本语法:SUBSTRING ( expression , start , length )
expression:字符串、二进制字符串、text、image、列或包含列的表达式
start:整数,指定子串的开始位置 注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符
length:整数,指定子串的长度(要返回的字符数或字节数)
2.patindex 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
基本语法:PATINDEX ( '%pattern%' , expression )
pattern:字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式
expression:表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别
下面结合上面的两个函数,截取字符串中指定的字符
declare @a varchar(50)
set @a='2009年7月15日星期五'
select substring(@a,1,4) --获取年份2009
declare @b int
set @b=patindex('%日%',@a) --获取'日'这个字符在字符串中的位置,即10
select substring(@a,6,@b-5) --获取日期'7月15日'
相关文章
在程序中压缩sql server2000的数据库备份文件的代码
在程序中压缩sql server2000的数据库备份文件的代码...2007-03-03
sql server中的decimal或者numeric的精度问题
在sql server中定义列的数据类型decimal时需要制定其精度和小数位数。2009-05-05
vs code连接sql server数据库步骤及遇到的问题小结
这篇文章主要介绍了用vs code连接sql server数据库步骤及遇到的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-05-05
mssql server 存储过程里,bulk insert table from ''路径+文件'',路径固定,文件名
mssql server 存储过程里,bulk insert table from ''路径+文件'',路径固定,文件名不固定的实现方法...2007-07-07


最新评论