SQL Server’da Belirli Karakter Aralığındaki Sayısal Değerin Alınması

Herkese merhaba,

Bu yazıda SQL Server’da belirli karakter aralığındaki sayısal değerin alınması hakkında bilgi vereceğim.

Aslında bu bilgiyi veren ve kodları hazırlayan kişi Vedat Özer Bey. SQL Server Eğitimleri Telegram Grubunda bir arkadaş bu soruyu sordu ve ona bu fonksiyonu hazırladı.

Kendisine bu çalışması için ayrıca teşekkürler.

Soru : Elimde JI20057259_1_1754846810_156 böyle bir metin var. Bu metinde ikinci tireden üçüncü tireye kadar olan kısmı dinamik olarak nasıl alabilirim.

CREATE FUNCTION KARAKTER_AYIRMA
(
    @ISIM CHAR(50)
)
RETURNS CHAR(20)
AS
BEGIN
    RETURN
    (
        SELECT ISIM
        FROM
        (
            SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) ID,
                   T.C.value('.', 'VARCHAR(4000)') AS ISIM
            FROM
            (SELECT CAST('' + REPLACE(@ISIM, '_', '') + '' AS XML) AS X) AS A
                CROSS APPLY X.nodes('/C') AS T(C)
        ) AS TMP
        WHERE ID = 3
    );
END;

GO

--Kullanımı

SELECT dbo.KARAKTER_AYIRMA(N'JI20057259_1_1754846810_156');

Fonksiyonu oluşturup çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Belirli Karakter Aralığındaki Sayısal Değerin Alınması

Sorgu ile ilgili detaylı bilgi almak isterseniz Vedat Özer Beye ulaşabilirsiniz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

248 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!