关于SQL截取字符串函数介绍

A.截取从字符串左边开始N个字符

 代码如下 复制代码

   Declare @S1 varchar(100)
   Select @S1='http://www.111cn.net'
   Select Left(@S1,4)
   ------------------------------------
   显示结果: http

   B.截取从字符串右边开始N个字符(例如取字符www.163.com)

  

 代码如下 复制代码
Declare @S1 varchar(100)
   Select @S1='http://www.163.com'
   Select right(@S1,11) 
   ------------------------------------
   显示结果: www.163.com

   C.截取字符串中任意位置及长度(例如取字符www)

 代码如下 复制代码

   Declare @S1 varchar(100)
   Select @S1='http://www.111cn.net'
   Select SUBSTRING(@S1,8,3) 
   ------------------------------------
   显示结果: www

   以上例子皆是已知截取位置及长度,下面介绍未知位置的例子

2.截取未知位置的函数

   A.截取指定字符串后的字符串(例如截取http://后面的字符串)

   方法一:

 代码如下 复制代码

   Declare @S1 varchar(100)
   Select @S1='http://www.111cn.net' 
   Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
   /*此处也可以这样写:Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/
   ------------------------------------
   显示结果: www.163.com

   需要注意:CHARINDEX函数搜索字符串时,不区分大小写,因此CHARINDEX('www',@S1)也可以写成CHARINDEX('WWW',@S1)

   方法二:(与方法一类似)

  

 代码如下 复制代码
Declare @S1 varchar(100)
   Select @S1='http://www.111cn.net' 
   Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
   --此处也可以这样写:Select Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))
   ------------------------------------
   显示结果: www.163.com  

    函数PATINDEX与CHARINDEX区别在于:前者可以参数一些参数,增加查询的功能

   方法三:

 代码如下 复制代码

   Declare @S1 varchar(100)
   Select @S1='http://www.111cn.net' 
   Select REPLACE(@S1,'http://','')
   ------------------------------------
   显示结果: www.163.com

   利用字符替换函数REPLACE,将除需要显示字符串外的字符替换为空

   方法四:

 代码如下 复制代码

   Declare @S1 varchar(100)
   Select @S1='http://www.111cn.net' 
   Select STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')
   ------------------------------------
   显示结果: www.163.com  

   函数STUFF与REPLACE区别在于:前者可以指定替换范围,而后者则是全部范围内替换

   B.截取指定字符后的字符串(例如截取C:Windowstest.txt中文件名)
     与A不同的是,当搜索对象不是一个时,利用上面的方法只能搜索到第一个位置

   方法一:

 代码如下 复制代码

   Declare @S1 varchar(100)
   Select @S1='C:Windowstest.txt'
   select right(@S1,charindex('',REVERSE(@S1))-1)
   -------------------------------------
   显示结果: text.txt

利用函数REVERSE获取需要截取的字符串长度

 

时间: 2024-09-20 12:03:17

关于SQL截取字符串函数介绍的相关文章

SQL截取字符串函数分享_MsSql

A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.xrss.cn' Select Left(@S1,4) ------------------------------------ 显示结果: http B.截取从字符串右边开始N个字符(例如取字符www.163.com) Declare @S1 varchar(100) Select @S1='http://www.163.com' Select right(@S1,

sql 截取字符串函数

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

SQL截取字符串函数分享

A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.xrss.cn' Select Left(@S1,4) ------------------------------------ 显示结果: http B.截取从字符串右边开始N个字符(例如取字符www.163.com) Declare @S1 varchar(100) Select @S1='http://www.163.com' Select right(@S1,

sql语句截取字符串函数

sql语句截取字符串函数 sql截取一段字符串并对该字符串进行替换的方法. 使用sql replace replace 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 replace ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' ) 参数 ''string_replace1'' 待搜索的字符串表达式.string_replace1 可以是字符数据或二进制数据. ''string_

支持中文和其他编码的php截取字符串函数分享

 这篇文章主要介绍了支持中文和其他编码的php截取字符串函数示例(截取中文字符串),需要的朋友可以参考下 简单的字符串截取方法,支持中文和其他编码,传入相对应的参数直接调用就可以了  代码如下: /**  * 字符串截取,支持中文和其他编码  * @static  * @access public  * @param string $str 需要转换的字符串  * @param string $start 开始位置  * @param string $length 截取长度  * @param

ORACLE常用数值函数、转换函数、字符串函数介绍

oracle|函数|转换|字符串 ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至小数点后n位的值(n缺省为0)trunc(m[,n]) m截断n位小数位的值(n缺省为0) -------------------------------------------------------------------------------- 字符函数:

js中截取字符串函数

网页特效中截取字符串函数 function substrdemo(){ var s, ss; // 声明变量. var s = "the rain in spain falls mainly in the plain."; ss = s.substr(12, 5); // 获取子字符串. return(ss); // 返回 "spain". } b = a.substring(start, end); start 表示起始位置,如果其实位置是第一个就填 0 end表

ThinkPHP的截取字符串函数无法显示省略号的解决方法_php实例

对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_exists("mb_substr")) { if($suffix) { if($str==mb_substr($str, $start, $le

Go语言截取字符串函数用法_Golang

本文实例讲述了Go语言截取字符串函数用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: func Substr(str string, start, length int) string {     rs := []rune(str)     rl := len(rs)     end := 0             if start < 0 {         start = rl - 1 + start     }     end = start + length