Home >Database >Mysql Tutorial >sql 截取字符串函数

sql 截取字符串函数

WBOY
WBOYOriginal
2016-06-07 17:47:571312browse

SUBSTRING ( expression , start , length ) 返回字符、binary、text 或 image 表达式的一部分。 参数 expression 是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。 start 是一个整数,指定子串的开始位置。

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

 

use   pubs
select   pub_id,   substring(logo,   1,   10)   as   logo,  
      substring(pr_info,   1,   10)   as   pr_info
from   pub_info
where   pub_id   =   '1756 '

 

if   exists   (select   table_name   from   information_schema.tables  
            where   table_name   =   'npub_info ')
      drop   table   npub_info
go

看个实例

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

   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))


left   (   character_expression   ,   integer_expression   )   返回从字符串左边开始指定个数的字符。
参数
character_expression
字符或二进制数据表达式。character_expression   可以是常量、变量或列。character_expression   必须是可以隐式地转换为   varchar   的数据类型。否则,请使用   cast   函数显式转换   character_expression。
integer_expression
是正整数。如果   integer_expression   为负,则返回空字符串。
返回类型
varchar


right   (   character_expression   ,   integer_expression   )   返回字符串中从右边开始指定个数的   integer_expression   字符。
参数
character_expression
由字符数据组成的表达式。character_expression   可以是常量、变量,也可以是字符或二进制数据的列。
integer_expression
是起始位置,用正整数表示。如果   integer_expression   是负数,则返回一个错误。
返回类型
varchar


下面看一下的

mysql 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。
1. 字符串截取:left(str, length)
mysql> select left('sqlstudy.com', 3);
+-------------------------+
| left('sqlstudy.com', 3) |
+-------------------------+
| sql |
+-------------------------+
2. 字符串截取:right(str, length)
mysql> select right('sqlstudy.com', 3);

select reverse(left(reverse('123.123.222.abcdef'),charindex('.',reverse('123.123.222.abcdef'),1)-1))

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn