Выберите только числовое значение - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть структура таблицы, как показано ниже.

id            version     REQ_REF_ID
 3              1.2            6
 2              1.1            6
 1               1             6

Мой запрос ниже

Select * from XYZ where REQ_REF_ID = 6606 order by version desc FETCH FIRST 2 ROWS ONLY

Это дает мне последние 2 строки, идентификатор которых равен 3и 2.

Но я хочу получить только те две строки, где version число является целым числом, не имеющим десятичных значений.

В этом случае я хочу получить строку, идентификатор которой равен 1.

Ответы [ 3 ]

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

Вы также можете использовать TRANSLATE

 where translate(VERSION, '?1234567890', '?') is null
0 голосов
/ 13 февраля 2019

вы можете проверить как

and (version)%1 = 0

% на 1 даст вам десятичные части, если таковые имеются

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

Вы можете проверить функцию ROUND , чтобы получить целочисленные значения

and ROUND(version) = version

ROUND возвращает n, округленное до целых разрядов справа от десятичной точки.

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