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

Откриване дали дадена стойност съдържа поне една цифрова цифра в PostgreSQL

Следният пример връща всички редове, които съдържат поне една числова цифра в PostgreSQL.

Пример

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

SELECT ProductName 
FROM Products;

Резултат:

           productname           
---------------------------------
 Left handed screwdriver
 Right handed screwdriver
 Long Weight (blue)
 Long Weight (green)
 Straw Dog Box
 Bottomless Coffee Mugs (4 Pack)
 Smash 2000 Sledge Hammer
 Chainsaw (3 spare fingers)

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

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

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

Резултат:

           productname           
---------------------------------
 Bottomless Coffee Mugs (4 Pack)
 Smash 2000 Sledge Hammer
 Chainsaw (3 spare fingers)

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

В PostgreSQL, ~ е оператор, чувствителен към малки и големи букви за съвпадение на дадения регулярен израз. За съвпадения без разлика в главните букви, използвайте ~* .

Можете да използвате !~ за да върнете всички редове, които не съответстват на регулярния израз (и !~* за съвпадения без значение на главни и малки букви).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пулиране на връзки с Pgbouncer на PostgreSQL 9.0

  2. Топ 5 PostgreSQL инструменти за наблюдение на заявки

  3. Мигриране от DB2 към PostgreSQL – какво трябва да знаете

  4. Изпълнете роден sql с хибернация

  5. Получаване на резултати между две дати в PostgreSQL