阿毛
It's me !
想你所想

mysql 获取指定字段最后一个字符

假设现在有一个表 tab,如下

with tab as (
    select 'abcde' as str
)

若想查询`str`字段的第 n 位字符,可以通过 substring 函数完成,函数支持 2~3 个参数。

  • 参数1:字段名;
  • 参数2:起始位置n,从左往右截取则从 1 开始(注意不是从 0!大部分语言是从 0 开始,如 java String类);从右往左则从 -1 开始;
  • 参数3:需要截取的子串长度 m,若 m 超出可截取长度限制,则至多到尾;若不填,则到字串结尾;

1、想要截取出`str`字段的第 1 位

-- 输出:a
select substring(str, 1, 1) from tab;

2、想要截取出`str`字段的第 4~5 位

-- 输出:de
select substring(str, 4, 2) from tab;
select substring(str, 4) from tab; -- 这里`str`字段长度固定为 5 位,则长度指定可省略
select substring(str, -2, 2) from tab; -- 这里`str`字段长度固定为 5 位,则第 4 位也是倒数第 2 位
select substring(str, -2) from tab;

综上,想要截取出`str`字段的最后一位字符,则可

select substring(str, 5, 1) from tab;
select substring(str, 5) from tab;
select substring(str, length(str)) from tab; -- 若字段长度不固定或未知,则可配合 length 函数动态获取最后一位对应位置

humh

文章作者

站长本人,一个憨批!

发表评论

textsms
account_circle
email

想你所想

mysql 获取指定字段最后一个字符
假设现在有一个表 tab,如下 with tab as ( select 'abcde' as str ) 若想查询`str`字段的第 n 位字符,可以通过 substring 函数完成,函数支持 2~3 个参数。 参数1:字段名…
扫描二维码继续阅读
2024-02-20