Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Max Pro

 
Название:

(t/sql) Функция, выдающая первое попавшееся число из строки

Дата: 30 October 2008
Описание: Функция, выдающая с округлением первое попавшееся число Int из строки, совместимой с NVarChar(4000). 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=239](t/sql) Функция, выдающая первое попавшееся число из строки[/CODEPOST]
Оценка: Проголосовало 5 посетителей, средняя оценка 3.60
Оценить:
  1 -- Функция, выдающая с округлением первое попавшееся число Int из строки, совместимой с NVarChar(4000).
  2 CREATE FUNCTION [dbo].[iIntParse] (@sString varchar(4000))  
  3 RETURNS Int AS  
  4 BEGIN 
  5  DECLARE
  6   @b AS Bit,
  7   @iOut AS Int,
  8   @i AS Int,
  9   @iMax AS Int,
 10   @s AS NVarChar(4000),
 11   @sSum AS NVarChar(4000);
 12  -- END DECLARE
 13  -- ini
 14  SET @b=0;
 15  SET @i=0;
 16  SET @iMax=Len(@sString);
 17  SET @sSum='';
 18  SET @sString=Replace(@sString,'+',' ')
 19  -- end ini
 20  WHILE @i<=@iMax BEGIN
 21   SET @i=@i+1;
 22   SET @s=Substring(@sString,@i,1)
 23   IF Isnumeric(@s)=1 BEGIN 
 24    SET @b=1;
 25    IF Len(Replace(Replace(Replace(@sSum,'-',''),'.',''),',',''))<10 SET @sSum=@sSum+@s ELSE SET @i=@iMax+1;
 26   END; -- IF
 27   IF IsNumeric(@s)=0 AND (IsNumeric(@sSum)=0 OR @sSum='-' OR @sSum='.' OR @sSum=',') BEGIN
 28    SET @b=0;
 29    SET @sSum='';
 30   END; -- IF
 31   IF Isnumeric(@s)=0 AND @b=1 SET @i=@iMax+1;
 32  END; -- WHILE
 33  IF IsNumeric(@sSum)=1 SET @iOut=Round(Cast(@sSum AS Decimal),0);
 34 RETURN @iOut;
 35 END -- FUNCTION
 36 
Вернуться к списку исходников в категории ADO.NET
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта