substring(参数1,参数2,参数3),其中三个参数分别表示:字符串
参数1表示须要截取的字符串,参数2表示从字符串的那个位置开始截取(字符串下标从1开始)(包前也包后),参数3表示要截取多少位,若是不写,表示截取从参数2指定的位置开始剩下的所有字符。
例如:string
- select substring("jason",1,2);
结果为:ja
- select substring("jason",1);
结果为:jason
- select substring("jason",2);
结果为:ason
以上都是参数为正数的状况。那么当参数2为负数的状况呢?注意参数3是表示截取的位数,是不能为负数,若是为负数,查询结果将为空值。
-
如下是当参数2为负数的状况select
- select substring("jason",-1);
结果为:n
截取思想:从字符串末尾开始向前截取。
- select substring("jason",-3);
结果为:son
- select substring("jason",-3,1);
结果为:s
截取思想为:若是有参数3指定须要截取的位数,则是从左往右开始截取也就是从首到尾,而不是从尾到首开始。
- select substring("jason",-3,2);
结果为:so
- select substring("jason",-3,-1);
结果为:空值
- select substring("jason",-3,0);
结果为:空值
** 准备要截取得字符串 “
删除十五天以前得数据共1条,删除成功!!!!” **
- ========================================其它截取字符串得用法
- 从左开始截取字符串
left(str, length)
说明:left(被截取字段,截取长度) (截取长度从1开始)
例:SELECT left(results_OF_Enforcement,4) FROM log_sheet //执行结果 “删除十五”
2.
从右开始截取字符串(和从左往右一个道理)
right(str, length)
说明:right(被截取字段,截取长度)
例:select right(content,200) as abstract from my_content_t
8. SBUSTR 用法
- SBUSTR(要截取得字段,pos); 从pos开始的位置(从1开始包括1),一直截取到最后(包前)。
例子:SELECT SUBSTR(results_OF_Enforcement,2) FROM log_sheet
- 结果是:除十五天以前得数据共1条,删除成功!!!!
SUBSTR(要截取得字段,pos,len);从pos开始的位置(开始从一开始),截取len个字符(空白也算字符)。(截取得结果包括开始和结尾)(包前也包后)
- SELECT SUBSTR(results_OF_Enforcement,1,2) FROM log_sheet
结果是 :“删除”
以下嵌套查询截取:
-
SELECT
jl.*
FROM
jl
WHERE
jl.id = ( SELECT SUBSTRING( ( SELECT USER.jlid FROM USER WHERE USER.id = 1 ), 1, 1 ) )
OR jl.id = ( SELECT SUBSTRING( ( SELECT USER.jlid FROM USER WHERE USER.id = 1 ), 3, 1 ) )
LIMIT 0,
30