Проверьте числовое значение с помощью SQL Server 2000
-
06-07-2019 - |
Вопрос
Как узнать, можно ли успешно преобразовать значение поля VARCHAR в целое число?
Я хочу сделать это массово, чтобы вставить записи из одной таблицы в другую ...
Решение
Функция IsNumeric () возвращает 1 для строк (varchars), которые можно преобразовать в число, и 0 для тех, которые не могут ..
Ознакомьтесь с функцией IsNumeric
Другие советы
Одна из проблем, связанных с функцией IsNumeric (), заключается в том, что Вы получите True, а если число получит десятичный разделитель, Что совершенно верно, но если кому-то, как мне, нужно проверять прямо на числа в varchar, без десятичных символов, (я понял, когда мне нужно было вычислить цифру CHECK по штрих-коду) Вы можете использовать castom сделал функцию как
create FUNCTION [dbo].[checkbarkod]
(
@ean_kod varchar(13)
)
RETURNS bit
AS
begin
declare @duzina int
declare @slovo char(1)
declare @pozicija int
declare @uredu bit
set @duzina=len(@ean_kod)
while @duzina>0
begin
set @slovo=(substring(@ean_kod,@duzina,1))
if (@slovo not in('1','2','3','4','5','6','7','8','9','0'))
begin
set @uredu=convert(bit,0)
break
end
else
begin
set @uredu=convert(bit,1)
set @duzina=@duzina-1
end
end
RETURN @uredu
end
Не связан с StackOverflow