zoukankan      html  css  js  c++  java
  • SQL处理下划线分割的两边数字都分别增加值


    CREATE TABLE test20 (en_name VARCHAR(100));
    INSERT INTO test20 SELECT '100105516_100105517';
    INSERT INTO test20 SELECT '100105516_100105518';
    INSERT INTO test20 SELECT '100105767_100105771';
    INSERT INTO test20 SELECT '100105803_100105804';
    INSERT INTO test20 SELECT '100105846_100105848';
    INSERT INTO test20 SELECT '100105851_100105854';
    INSERT INTO test20 SELECT '100106979_100106980';
    INSERT INTO test20 SELECT '100107076_100107077';
    INSERT INTO test20 SELECT '100118835';
    INSERT INTO test20 SELECT '100117241';
    INSERT INTO test20 SELECT '100117262';
    INSERT INTO test20 SELECT '100107183';
    INSERT INTO test20 SELECT '100107197';
    INSERT INTO test20 SELECT '';
    INSERT INTO test20 SELECT '';
    INSERT INTO test20 SELECT '';

    方法一:

    SELECT en_name,
    IF(LOCATE('_',en_name)=0,CONCAT(SUBSTRING_INDEX(en_name,'_',1)+100000000 ),CONCAT(SUBSTRING_INDEX(en_name,'_',1)+100000000,'_',SUBSTRING_INDEX(en_name,'_',2)+100000000))
    FROM test20;

    方法二:
    SELECT en_name,
    CASE WHEN en_name LIKE "%\_%"
    THEN CONCAT(SUBSTRING_INDEX(en_name,'_',1)+100000000,'_',SUBSTRING_INDEX(en_name,'_',-1)+100000000)
    ELSE CONCAT(SUBSTRING_INDEX(en_name,'_',1)+100000000 )
    END AS en_name
    FROM test20;

  • 相关阅读:
    c# 虚拟路径转换为绝对路径
    Java基础——封装
    作为测试人,如何优雅的查看Log日志?
    学习整理
    记一次DataNode慢启动问题
    记一次DataNode慢启动问题
    记一次DataNode慢启动问题
    DataNode迁移方案
    C++学习笔记-模板
    C Primer Plus之指针
  • 原文地址:https://www.cnblogs.com/liang545621/p/12765565.html
Copyright © 2011-2022 走看看