У меня этот запрос работает. По большей части он работает нормально, но есть несколько записей, в которых есть номера без номера, и это вызывает проблемы. Мне нужно иметь возможность выбирать только записи, которые являются целыми числами.Получить записи, которые являются только номерами
select distinct SUBSTRING(PAPROJNUMBER, 1, 5) AS STUDY_NUMBER
FROM dbo.PA01201 AS PA01201_1
where PAPROJNUMBER>'0'
Например, часть списка результатов выглядит следующим образом:
68145
68146
68147
7762A
99999
LABOR
я хочу, чтобы все кроме тех 7762A и труда. Как я могу изменить предложение where, чтобы достичь этого эффективно?
Это путь. Добавление «.0e0» приводит к тому, что десятичные числа не могут проверять ISNUMERIC, потому что есть дополнительная десятичная точка, и приводит к сбою номеров в научной нотации (например, с плавающей запятой) из-за удвоенного показателя. Следовательно, это элегантно исключает нецелые случаи и гарантирует, что ваша подстрока будет числовым целым числом. –
+1 - Эффективный способ обойти неожиданные срабатывания в 'ISNUMERIC()' – JNK
+1, но не хватит ли просто '.0'? –