2012-12-10 14 views

cevap

57

Numara 15 basamağa kadar olabileceğinden, 64 bit (8 bayt) bir tamsayıya dönüştürülecek. Bu deneyin:

SELECT * FROM table 
WHERE myint = mytext::int8 

:: döküm operatörü tarihsel fakat uygundur. Postgres da Davandan bu şekilde bir dizeye böylece

intval::text 

ve bir tamsayı yayınlayabileceğim

myint = cast (mytext as int8) 
+22

Ah. Aslında başka bir şekilde buna ihtiyacım vardı (myint, varchar'a dönüştü) ama cevabınız bana doğru yere doğru yol göstermeye yeterliydi. Ben sadece “myint :: varchar (255) = mytext” yaptım ve işe yarıyor. Teşekkürler! – spyd3rr

+0

Kesinlikle, bu soruya cevap vermiyor. Örnek sorun değildi - bir tamsayı bir char/string'e dönüştürmek oldu. Ama teşekkürler, @ spyd3rr –

+0

@fred Değil: OP'nin * gerçek * problemi sayısal ve metin değerlerini karşılaştırmaya çalışmak başarısız oldu. Bu cevap, metni bir sayıya çevirerek düzeltmenin nasıl yapıldığını gösterir (OP bir sayı metne dökülmeye çalışsa bile). – Bohemian

49

SQL standart sözdizimine uygun

SELECT * FROM table WHERE <some integer>::text = 'string of numbers' 
İlgili konular