Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да открием дали дадена стойност съдържа поне една цифрова цифра в MySQL

Ако трябва да върнете всички редове, които съдържат поне една цифрова цифра в MySQL, следният пример може да ви бъде полезен.

Пример

Да предположим, че имаме таблица, наречена Products със следните данни в неговия ProductName колона:

SELECT ProductName 
FROM Products;

Резултат:

+-------------------------------------+
| ProductName                         |
+-------------------------------------+
| Left handed screwdriver             |
| Right handed screwdriver            |
| Long Weight (blue)                  |
| Long Weight (green)                 |
| Smash 2000 Sledge Hammer            |
| Chainsaw (Includes 5 spare fingers) |
| Straw Dog Box                       |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

Тази колона съдържа данни за знаци, но някои редове съдържат числа в рамките на тези знакови данни (въпреки че не се съхраняват като числов тип).

Можем да използваме следната заявка, за да върнем само онези редове, които съдържат числа, представени с цифрови цифри:

SELECT ProductName 
FROM Products
WHERE ProductName REGEXP '[0-9]+';

Резултат:

+-------------------------------------+
| ProductName                         |
+-------------------------------------+
| Smash 2000 Sledge Hammer            |
| Chainsaw (Includes 5 spare fingers) |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

Както се очаква, се връщат само онези редове, които съдържат числа.

В този случай използвахме REGEXP на MySQL функция за намиране на всички редове, които съответстват на модел. Моделът обхваща всички цифрови цифри от 0 до 9 , плюс всеки друг знак.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL еквивалент на функцията DECODE в Oracle

  2. PHP (MySQL) грешка:Предупреждение:mysql_num_rows() очаква параметър 1 да бъде ресурс

  3. Как да нулирате Root парола в MySQL 8.0

  4. Алтернативата на MySQL на T-SQL WITH TIES

  5. mysqli::mysqli():(HY000/2002):Не мога да се свържа с локален MySQL сървър чрез сокет 'MySQL' (2)