Итак, я пытаюсь проверить идентификатор столбца в таблице tableId, который имеет следующее
|id|
12345678
0012345678
A12345
B12345
Я пытаюсь создать второй столбец с именем id2, который будет :
|id2|
12345678
12345678
A12345
B12345
Чтобы я мог знать, после использования COUNT + DISTINCT, что есть дубликаты, у которых просто осталось 0 единиц номера, но на самом деле это те же идентификаторы.
Я пытался использовать CASE WHEN с ISNUMERI C и CAST как numeri c, как своего рода управление ошибками, которое возвращает одно и то же значение (те, которые имеют нечисловые символы c, такие как последние 2) в случае, если это не numeri c, и, если это так, он преобразует его в numeri c и вернет значение numeri c без нулей слева. Однако он возвращает ошибку
Error converting data type varchar to numeric.
Код:
select id,
case when ISNUMERIC(id)=0 then id else CAST(id as numeric) end as id2
from tableId
В Excel я бы использовал что-то вроде = IF (ISNUMBER (id), VALUE (id), id) ), но я не могу понять это правильно на SQL Server 2012.
Заранее спасибо!
D iego