Как исключить первые два числа цифры и как получить последние 6 цифр в запросе MySQL? - PullRequest
0 голосов
/ 20 марта 2012

У меня есть таблица из восьми цифр, которые начинаются с 00****** или ******** Если число начинается с 00, я должен исключить 00 и выбрать оставшиеся 6 цифр, а если данные в начале не имеют нуля, то мне нужно выбрать первые шесть цифр данных. Пожалуйста, дайте мне знать, как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012
    SELECT CASE WHEN SUBSTRING(Col,1,2)='00'
                     THEN SUBSTRING(Col,3,8)
                ELSE SUBSTRING(Col,1,6)
                END AS Col      
    FROM YOURTABLE;
1 голос
/ 20 марта 2012

Предполагая, что это CHAR(8) с именем the_column:

ВЫБРАТЬ ЕСЛИ (the_column REGEXP '^ 00', ВПРАВО (the_column, 6), ВЛЕВО (the_column, 6)) AS x ОТ some_table

+------------+
| the_column |
+------------+
| 00123456   |
| 87654321   |
+------------+


mysql> SELECT IF(the_column REGEXP '^00', RIGHT(the_column, 6), LEFT(the_column, 6)) x
FROM foo;
+--------+
| x      |
+--------+
| 123456 |
| 876543 |
+--------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...