Sql Numaratör

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
emrgln
Üye
Mesajlar: 50
Kayıt: 03 May 2013 03:58

Sql Numaratör

Mesaj gönderen emrgln » 30 Mar 2016 11:22

Mrb,

String bir ifadeyi numaratör şeklinde arttırmayı nasıl sağlayabiliriz.
Örnek
'AAAAAAA' dan 'AAAAAAB'
'AAAAAA0' dan 'AAAAAA1'


Teşekkürler Şimdiden

Kullanıcı avatarı
emrgln
Üye
Mesajlar: 50
Kayıt: 03 May 2013 03:58

Re: Sql Numaratör

Mesaj gönderen emrgln » 30 Mar 2016 12:00

Basit bir çözüm oldu ama paylaşayım yinede

Kod: Tümünü seç

CREATE FUNCTION [dbo].[NUMARATOR](@NUMARA NVARCHAR(20))
RETURNS NVARCHAR(20)
AS
     BEGIN
         DECLARE @metin NVARCHAR(20);
         SET @metin = UPPER(@NUMARA);
         IF ASCII(RIGHT(@metin, 1)) < 48
            OR ASCII(RIGHT(@metin, 1)) > 122
             BEGIN
                 SET @metin = LEFT(@metin, LEN(@metin) - 1)+'0';
             END;
         IF RIGHT(@metin, 1) = 'Z'
             BEGIN
                 SET @metin = LEFT(@metin, LEN(@metin) - 1)+'0';
             END;
         ELSE
         IF RIGHT(@metin, 1) = '9'
             BEGIN
                 SET @metin = @metin+'A';
             END;
         ELSE
             BEGIN
                 SET @metin = LEFT(@metin, LEN(@metin) - 1) + CHAR(ASCII(RIGHT(@metin, 1))+1);
             END;;
         RETURN @metin;
     END;

Cevapla