Как запросить значения, которые не являются текстовой строкой - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь запросить таблицу с учетом этих условий, когда значения содержат целые числа, но не текстовые строки, мой запрос в настоящее время выглядит следующим образом

select column
from table
where column  ~ '^[0-9]' 

Это делает достойную работу и получает большинство моих вариантов использованияно я все еще сталкиваюсь с ситуациями, когда я получаю значения, в которых есть цифры и текст, например «50first». Большое спасибо за вашу помощь заранее.

С уважением,

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Ниже код будет работать нормально.

select column from table where upper(column) = lower(column);
0 голосов
/ 11 февраля 2019

Если вам нужны только целые числа, то правильное регулярное выражение:

select column
from table
where column ~ '^[0-9]+$' 

Ваш код проверяет, что столбец начинается с цифрой.Вышеуказанное гарантирует, что столбец состоит только из цифр от начала до конца - и имеет хотя бы одну из них.

...