SORU
17 Ocak 2010, Pazar


Nasıl bir dize bir tamsayı döküm ve PostgreSQL ile dökme hata durumunda 0 var mı?

İsim olarak no sütun ile bir tablo var. Veri tamsayı olması gerekiyordu ve sorguda iteger yazın buna ihtiyacım var. Bazı değerler boş dizeler. Aşağıdaki:

SELECT myfield::integer FROM mytable

verimleri 4**

Nasıl bir döküm sorgu ve isim olarak döküm sırasında hata durumunda 0 alabilir miyim?

CEVAP
24 Mayıs 2010, PAZARTESİ


Sadece benzer bir sorun ile kendimi Güreşi yapıyordum, ama bir işlevi yükü istemedi. Aşağıdaki sorgu ile geldi:

SELECT myfield::integer FROM mytable WHERE myfield ~ E'^\\d $';

İsim olmayan tamsayılar herhangi bir isabet elde edemezsin. onun ifade kısayolları ::tam sayı atama. Ayrıca BOŞ değerler (regexp maç vermiyorlar) işler.

Eğer seçme yerine sıfır istiyorsanız, büyük bir deyim olmalı

SELECT CASE WHEN myfield~E'^\\d $' THEN myfield::integer ELSE 0 END FROM mytable;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • efaustus9

    efaustus9

    16 HAZİRAN 2006
  • Learn Math Tutorials

    Learn Math T

    20 Kasım 2011
  • soyacincautv

    soyacincautv

    14 NİSAN 2010