2009-10-27 5 views

ответ

8

функция IsNumeric() возвращает 1 для строк (VARCHARS), которые могут быть конвертированы в число и 0 для тех, кто не может. .

Заканчивать IsNumeric function

+0

Спасибо за ваш ответ, работает как шарм ... – tekBlues

+0

год Добро пожаловать, Happy Halloween! –

0

Один вопрос йоту IsNumeric() функция является то, что вы получите Правда, и если номер есть десятичный разделитель, что абсолютно верно, но если кто-то, как мне нужно, чтобы проверить прямо на номера в varchar, без десятичных символов (я получил это, когда мне нужно было вычислить CH ИКК цифры на штрих-код) можно использовать 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 @[email protected] 
      end 
     end 
    RETURN @uredu 
end