深入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日'

时间: 2024-07-29 19:35:03

深入SQL截取字符串(substring与patindex)的详解的相关文章

深入SQL截取字符串(substring与patindex)的详解_MsSql

首先学习两个函数1.substring  返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) expression:字符串.二进制字符串.text.image.列或包含列的表达式start:整数,指定子串的开始位置      注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符length:整数,指定子串的长度(要返回的字符数或字节数)

Javasscript截取字符串substring与substr函数详解

一.substring substring需要至少需要一个参数,第一个参数为起始位置,第二个参数可选,为结束位置. 只有一个参数  代码如下 复制代码 <meta charset="UTF-8" /> <script type='text/javascript'> /**  * substring函数使用DEMO  */ var str = '欢迎各位童鞋到琼台博客做客'; var sub = str.substring(3); alert(sub); // o

Javascript 截取字符串几个函数用法详解

截取字符串方法有很多的,(不含根据传入参数截取成数组的split()方法)这里说的是子字符串,所以不说split()方法了. slice(),substr(),substring()一共三种方法,其中各有不同,他们都可以传一个或两个参数进去,第一个参数都是起始位置,slice()和substring()第二个参数为终止位置(输出到终止位置前一个字符),而substr为字符长度,但传入负数时情况又不一样了. 这里就负数来个实例:  代码如下 复制代码 var stringValue = "Hell

JavaScript截取字符串的Slice、Substring、Substr函数详解和比较

 这篇文章主要介绍了JavaScript截取字符串的Slice.Substring.Substr函数详解和比较,需要的朋友可以参考下 在JavaScript中,提取子字符串主要是通过 Slice.Substring.Substr 三个方法之一.    代码如下:// slice  // 语法: string.slice(start [, stop]) "Good news, everyone!".slice(5,9);  // 'news'   // substring  // 语法:

SQL Server 2016 Alwayson新增功能图文详解

概述 SQLServer2016发布版本到现在已有一年多的时间了,目前最新的稳定版本是SP1版本.接下来就开看看2016在Alwyson上做了哪些改进,记得之前我在写2014Alwayson的时候提到过几个需要改进的问题在2016上已经做了改进. 一.自动故障转移副本数量 在2016之前的版本自动故障转移副本最多只能配置2个副本,在2016上变成了3个. 说明:自动故障转移增加到三个副本影响并不是很大不是非常的重要,多增加一个故障转移副本也意味着你的作业也需要多维护一个副本.重要程度(一般).

C/C++字符串函数之复制函数详解_C 语言

突然发现对字符串函数缺乏系统的了解,所以花了一点时间专门整理下,在此记录之,以方便自己及有需要的人使用. C/C++字符串函数的头文件:string.h 复制函数主要有4个,如下: 1.char * strcpy(char* destination,const char * source); 2.char* strncpy(char* destination,const char* source,size_t num); 3.void * memcpy(void* destination,con

SQL 截取字符串应用代码_MsSql

SUBSTRING 返回字符.binary.text 或 image 表达式的一部分.有关可与该函数一起使用的有效 Microsoft SQL Server 数据类型的更多信息,请参见数据类型. 语法 SUBSTRING ( expression , start , length ) 参数 expression 是字符串.二进制字符串.text.image.列或包含列的表达式.不要使用包含聚合函数的表达式. start 是一个整数,指定子串的开始位置. length 是一个整数,指定子串的长度(

sql 截取字符串函数

substring   (   expression   ,   start   ,   length   )   返回字符.binary.text   或   image   表达式的一部分. 参数 expression 是字符串.二进制字符串.text.image.列或包含列的表达式.不要使用包含聚合函数的表达式. start 是一个整数,指定子串的开始位置. length 是一个整数,指定子串的长度(要返回的字符数或字节数).   use   pubs select   pub_id,  

SQL 截取字符串应用代码

SUBSTRING 返回字符.binary.text 或 image 表达式的一部分.有关可与该函数一起使用的有效 Microsoft® SQL Server 数据类型的更多信息,请参见数据类型. 语法 SUBSTRING ( expression , start , length ) 参数 expression 是字符串.二进制字符串.text.image.列或包含列的表达式.不要使用包含聚合函数的表达式. start 是一个整数,指定子串的开始位置. length 是一个整数,指定子串的长度