У меня есть номер, отформатированный следующим образом: 123.456.789.1.2.3
Мне нужна функция, которая извлекает первые 2 группы числа и помещает их в bigint: результат: 123456
Что я сделал до сих пор:
CREATE FUNCTION bl.fn_get_2_groups
(
@str nvarchar(255)
)
RETURNS bigint
AS BEGIN
DECLARE @newStr nvarchar(255)
select @newStr = SUBSTRING(@str,1,charindex('.',@str)-1), @str = SUBSTRING(@str,charindex('.',@str)+1,LEN(@str))
select @newStr += SUBSTRING(@str,1,charindex('.',@str)-1)
return convert(bigint,@newStr)
END GO
Кто-нибудь знает другой способ сделать это? Может быть, элегантнее или короче?