MYSQL 截取字符串用法
substring(参数1,参数2,参数3),其中三个参数分别表示:
参数1表示需要截取的字符串,参数2表示从字符串的那个位置开始截取(字符串下标从1开始)(包前也包后),参数3表示要截取多少位,如果不写,表示截取从参数2指定的位置开始剩下的全部字符。
例如:
- select substring("jason",1,2);
结果为:ja - select substring("jason",1);
结果为:jason - select substring("jason",2);
结果为:ason
以上都是参数为正数的情况。那么当参数2为负数的情况呢?注意参数3是表示截取的位数,是不能为负数,如果为负数,查询结果将为空值。 -
以下是当参数2为负数的情况
- 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_t8. 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 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
- 结果是:除十五天之前得数据共1条,删除成功!!!!
- select substring("jason",-1);
posted on 2019-10-23 15:11 UnmatchedSelf 阅读(464) 评论(0) 编辑 收藏 举报