首页 >数据库 >mysql教程 >sql 截取字符串函数

sql 截取字符串函数

WBOY
WBOY原创
2016-06-07 17:47:571312浏览

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn