Select de string alandan sıfırları atma

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ı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Select de string alandan sıfırları atma

Mesaj gönderen conari »

Alan
00000x45874 veya
00005481121 şeklinde
select ifadesinde bu sıfırları nasıl atabilirim.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
delphi_programmer
Üye
Mesajlar: 53
Kayıt: 01 Haz 2005 11:47

Mesaj gönderen delphi_programmer »

SELECT REPLACE('00000x45874','0','') FROM DUAL;
gibi birşey kullanabilirsin.

Sadece baştaki değil, aralardaki sıfırları da değiştirir tabii ki.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

İlla sadece soldan veya sağdan sıfırlar falan atılacaksa şuna benzer bir SQL işini görebilir:

Kod: Tümünü seç

SELECT
  CASE WHEN SUBTRING(ALAN, 1, 10) = '0000000000' THEN ''
       WHEN SUBTRING(ALAN, 1, 9) = '000000000' THEN SUBSTRING(ALAN, 10, 1)
       WHEN SUBTRING(ALAN, 1, 8) = '00000000' THEN SUBSTRING(ALAN, 9, 2)
       WHEN SUBTRING(ALAN, 1, 7) = '0000000' THEN SUBSTRING(ALAN, 8, 3)
       WHEN SUBTRING(ALAN, 1, 6) = '000000' THEN SUBSTRING(ALAN, 7, 4)
       WHEN SUBTRING(ALAN, 1, 5) = '00000' THEN SUBSTRING(ALAN, 6, 5)
       WHEN SUBTRING(ALAN, 1, 4) = '0000' THEN SUBSTRING(ALAN, 5, 6)
       WHEN SUBTRING(ALAN, 1, 3) = '000' THEN SUBSTRING(ALAN, 4, 7)
       WHEN SUBTRING(ALAN, 1, 2) = '00' THEN SUBSTRING(ALAN, 3, 8)
       WHEN SUBTRING(ALAN, 1, 1) = '0' THEN SUBSTRING(ALAN, 2, 9)
       ELSE ALAN END AS ALAN
FROM TABLO
İyi çalışmalar.
Cevapla