![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 11/2002 Yer: Ankara
Mesaj: 496
|
şimdi arkadaşlar elimde, varchar2(255) tipinde bir kolon var. bu kolondaki değerler duruma göre karakter dizisi ya da sayı olabiliyor. bu değerler sayı olduğu zamanki durumlar için şöyle bir sorgu yazmam gerekiyor "select id from tablo where deger < 2 " ama tabi burada "deger" kolonu string olduğu için geçersiz sayı dizini gibi bir hata veriyor. bu konuda ansi sql'de nasıl bir çözüm üretebilirim?
__________________ Eğer insanlar kendilerini yaralayacak güce sahipse, neden kendilerini iyileştirecek güce sahip olmasınlar ki!!! |
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 11/2002 Yer: Ankara
Mesaj: 496
|
bunu denemiştim, şöyle bir sorunla karşılaşıyorum buradaki deger kolonunda null değerler olma olasılığı da var o zaman cast patlıyor.
__________________ Eğer insanlar kendilerini yaralayacak güce sahipse, neden kendilerini iyileştirecek güce sahip olmasınlar ki!!! |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 11/2002 Yer: Ankara
Mesaj: 496
| Kod: SELECT cast (deger_tr as int)
FROM dokuman d,
versiyon v,
versiyon_x_dokumantpknyaln vxd,
dokumantipikunyealani dtka
WHERE vxd.dokumantipikunyealani_id = dtka.ID
AND dtka.dokumantipialanturu_id = 2
AND v.dokuman_id = d.ID
AND v.ID = vxd.versiyon_id
AND vxd.aktif = 1
and vxd.DEGER_TR is not null
ama sonuna "and cast(deger_tr as int) <2" ekleyince "ora-01722, geçersiz sayı" hatası veriyor. bu hata da, sayıya dönüştürmek istediğimiz dizide numerik olmayan şeyler olunca veriliyor.
__________________ Eğer insanlar kendilerini yaralayacak güce sahipse, neden kendilerini iyileştirecek güce sahip olmasınlar ki!!! |
| | |
| | #5 (permalink) |
| Luke is back... Üyelik Tarihi: 05/2002 Yer: ../Dark_Side
Mesaj: 2,443
|
O zaman IF benzeri bir yapı kuracaksın, oracle'da ISNULL, IF, CASE tarzı komutların karşıluğını şu an bilmediğim için bi şey diyemiyorum. Ama sql server olsaydı şöyle yazardım SELECT id FROM tablo WHERE ISNULL(deger, -1, CAST(deger AS INT)) < 2 veya mySQL için SELECT id FROM tablo WHERE IF(deger IS NULL, -1, CAST(deger AS INT)) < 2
__________________ Do or do not. There is no try. |
| | |
| | #6 (permalink) |
| Luke is back... Üyelik Tarihi: 05/2002 Yer: ../Dark_Side
Mesaj: 2,443
|
Hmm. İkinci bir sorun içeriğin numeric olup olmaması sanırım. Bunu ilk mesajımda dediğim gibi gözardı etmiştim, buna ancak o string degeri kontrol edecek bir fonksiyonla çözüm getirebilirsin. fonksiyon * string içindeki değerler sadece rakamlar ise true * değilse false döndürecek. Ms Sql server ve mysql için böyle bir fonksiyon yok, ama mysql için düzenli ifadeler ile bi şeyler yapılabilir. Fakat sql server için düzenli ifadeler yok. Belki custom function yazılabilir. vaktim olursa buraya yazabilirim bi şeyler.
__________________ Do or do not. There is no try. |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| string'i arraya çevirme... | pirilti | PHP | 11 | 14/02/2007 19:31 |
| karşılaştırma | yelegin | Veritabanları & SQL | 3 | 08/12/2006 15:27 |
| Karşılaştırma :( | avengerstyle | Veritabanları & SQL | 3 | 28/11/2006 10:33 |
| TDateTime Karşılaştırma | Cenko | C / C++ | 0 | 06/06/2006 14:00 |
| String'i kısaltmak....... | GmX | PHP | 14 | 06/10/2003 15:37 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |