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ş:
Nasıl JavaScript bir Tamsayı bir Dize ...
Eğer Google chrome krom dökme uzantısı...
Nasıl bir PostgreSQL '' sorg...
Nasıl C bir tamsayı bir dize ayrıştırm...
Nasıl dize için bir tamsayı değeri dön...