Получить определенный номер в sql - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу вставить значение в sql, но это должно быть 6-значное число, не меньше и не более того.Как мне это определить?

спасибо

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

Полагаю, вы имеете в виду, что у вас есть номер для вставки, и вы хотите убедиться, что это шестизначный номер.То есть вы хотите, чтобы 1234 был похож на 001234, а 1234567 был похож на 234567.

В MySQL вы можете использовать RIGHT(LPAD(@item_to_insert, 6, 0),6) ...

INSERT INTO tbl (...,six_digit_column,...) 
       VALUES( ..., RIGHT(LPAD(@item_to_insert, 6, 0),6), ...);
0 голосов
/ 24 сентября 2019
    SELECT 103928 BETWEEN 100000 AND 999999 x;
    +---+
    | x |
    +---+
    | 1 |
    +---+

    SELECT 3928 BETWEEN 100000 AND 999999 x;
    +---+
    | x |
    +---+
    | 0 |
    +---+

И, в качестве примера ...

DROP TABLE IF EXISTS my_table; 

CREATE TABLE my_table(i INT NOT NULL);

INSERT INTO my_table SELECT 3023 FROM (SELECT 1) x WHERE 3023 BETWEEN 100000 AND 999999;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

SELECT * FROM my_table;
Empty set (0.00 sec)

INSERT INTO my_table SELECT 102890 FROM (SELECT 1) x WHERE 102890 BETWEEN 100000 AND 999999;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

SELECT * FROM my_table;
+--------+
| i      |
+--------+
| 102890 |
+--------+
1 row in set (0.00 sec)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...