Merhabalar ben varchar tipindeki bir alanda bulunan string in içinde -varsa-
olan sayıyı çekmek istiyorum. bir adet -ama belki birden fazla basamaklı-
sayı var. yalnız bunu mutlaka ve sadece t-sql ile yapmalıyım.
"her ayın 15inde" cümlesinden çekmek istediğim değer:"15"
"23ünde" cümlesinden çekmek istediğim değer:"23"
"her ay 12" cümlesinden çekmek istediğim değer:"12" gibi...
yardımlarınız için şimdiden teşekkürler
String değer içindeki sayılar
ben ms sql server için yazmıştım böyle bişey:
Kod: Tümünü seç
--KULLANIMI: select dbo.TOINT('+15')
--DÖNEN SONUÇ: 15
--GÖNDERİLEN İFADEDEN SADECE RAKAMLARI SEÇER
ALTER FUNCTION TOINT(@SINT VARCHAR(15))
RETURNS INT
AS BEGIN
DECLARE @SONUC VARCHAR(15)
DECLARE @I TINYINT
SET @SONUC = ''
SET @I = 1
WHILE @I < LEN(@SINT)+1
BEGIN
IF (SUBSTRING(@SINT,@I,1) IN ('0','1','2','3','4','5','6','7','8','9'))
SET @SONUC = @SONUC + SUBSTRING(@SINT,@I,1)
SET @I = @I + 1
END
IF @SONUC = NULL OR @SONUC = ''
SET @SONUC = '0'
RETURN CONVERT(INT,@SONUC)
END