数据库截取字符串SUBSTR函数的使用 |
您所在的位置:网站首页 › 截取数据前四位的函数 › 数据库截取字符串SUBSTR函数的使用 |
背景
今天中午做需求的时候,有类似于根据银行卡卡号的前几位判断出是哪个银行的情况,每个银行需要截取的位数都不一样,这时我就想到了SUBSTR 数据库截取字符串SUBSTR函数的使用假设有一个表的结构如下(表名tlk_bnkld_card) 写sql语句的时候就能看到有很多的substr函数的提示,各人根据需求选用。
SUBSTR(str FROM pos FOR len)的使用: 1 SELECT SUBSTR(idtf_value FROM 1 FOR 2) idtfValue 2 FROM tlk_bnkld_card 3 WHERE 1=1 截取字段idtf_value ,从第一位开始截取,截取两位 执行结果截取字段idtf_value ,从第二位截取到结束 执行结果: SUBSTRING与SUBSTR区别不大,输出结果一致; 1 SUBSTR(str,pos) 2 SUBSTR(str,pos,len) 3 SUBSTRING(str FROM pos FOR len) 4 SUBSTRING(str FROM pos) 5 SUBSTRING(str,pos) 6 SUBSTRING(str,pos,len) 这几个函数的用法和上面的两种类似,参见上述; SUBSTRING_INDEX(str,delim,count)函数的用法 用法规则:SUBSTRING_INDEX(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N) 例如: 1 SELECT SUBSTRING_INDEX(idtf_value,'4',2) idtfValue 2 FROM tlk_bnkld_card 3 WHERE idtf_value='392454'将字符串用"4"分割开,截取从开始到第二个“4”之前的字符串输出 执行结果注意: 假如有负号像这样 1 SELECT SUBSTRING_INDEX(idtf_value,'4',-2) idtfValue 2 FROM tlk_bnkld_card 3 WHERE idtf_value='392454'截取时就说从后往前截取,截取到从后面数的第二个之前 执行结果
版权声明:本文为博主原创文章,欢迎大家分享,支持,打赏。 转载请在博客开头或者结尾标注转载地址:https://www.cnblogs.com/clwydjgs/p/9324255.html 小舟从此逝,江海寄余生。 --狐狸 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |