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

Как да получите стойности, които не съдържат числа в MariaDB

Когато работите с MariaDB, понякога може да се окажете, че трябва да върнете всички редове, които не съдържат никакви числа.

Технически, числата могат да бъдат представени с думи и други символи, но за тази статия „число“ означава просто „числова цифра“. Така че намираме стойности, които не съдържат никакви цифрови цифри.

Пример

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

SELECT ProductName 
FROM Products;

Резултат:

+-------------------------------------+
| ProductName                         |
+-------------------------------------+
| Left Handed Screwdriver             |
| Right Handed Screwdriver            |
| Bottomless Coffee Cup               |
| Smash 2000 Sledgehammer             |
| Chainsaw (includes 3 spare fingers) |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

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

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

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

Резултат:

+--------------------------+
| ProductName              |
+--------------------------+
| Left Handed Screwdriver  |
| Right Handed Screwdriver |
| Bottomless Coffee Cup    |
+--------------------------+

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

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

Това може да бъде написано и така:

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

Резултат:

+--------------------------+
| ProductName              |
+--------------------------+
| Left Handed Screwdriver  |
| Right Handed Screwdriver |
| Bottomless Coffee Cup    |
+--------------------------+

Същият изход.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сравняване на Amazon RDS Recovery Point-in-Time с ClusterControl

  2. MariaDB JSON_OBJECTAGG() Обяснено

  3. Автоматизирано тестване на процеса на надстройка за PXC/MariaDB Galera Cluster

  4. Обяснение на оператора MariaDB UNION

  5. Най-добрите инструменти с отворен код за миграции на MySQL и MariaDB