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        
--------------------------
 Left handed screwdriver
 Right handed screwdriver
 Long Weight (blue)
 Long Weight (green)
 Straw Dog Box
(5 rows)

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

В 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. psycopg2 еквивалент на mysqldb.escape_string?

  2. Проверете връзката с базата данни с pg-promise при стартиране на приложение

  3. Целочислени масиви на Postgres като параметри?

  4. Мога ли да помоля Postgresql да игнорира грешки в транзакция

  5. Алтернативен изходен формат за psql