Есть ли SQL-запрос, где он может получать данные только тех, которые содержат дефис после второй буквы? - PullRequest
0 голосов
/ 16 мая 2019

Я хочу выполнить SQL-запрос, который возвращает мне данные из столбца, все те, которые содержат дефис после их второй буквы.

В основном у меня есть столбец, который содержит строки в форме "BC-123456-1", но между ними у меня есть другие строки, такие как NULL (как строка, а не тип) и другие ненужные строки

Мой текущий запрос

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL

Так есть ли способ отфильтровать те данные, которые не соответствуют моему шаблону?

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Вы можете использовать запрос ниже.

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND IFNULL(column,'') LIKE '__-%';

Объяснение

1) IFNULL проверяет, если столбец, а затем я заменил нулевое значение на ''

2) В аналогичном предложении я сохранил 2 подчеркивания __ подчеркивание означает один символ. поэтому я поставил 2 подчеркивания.

1 голос
/ 16 мая 2019

Вы можете попробовать этот запрос

SELECT DISTINCT column FROM Table WHERE constraint IS NULL AND column IS NOT NULL AND 
column LIKE '__-%'

Подчеркивание "__" разрешит любые 2 символа, за которыми следует дефис, а "%" разрешит любое количество символов после него

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...