28 Nisan 2012 Cumartesi

MySql de VARCHAR Veri Tipini

 
 Bazen tam sayı veri tipi kullanmamız gereken yerlerde VARCHAR yaparız. Ama bunları sıralama ihtiyacı duyduğumuzda bir problem ile karşılaşırız. VARCHAR bir string ve bir string gibi sıralanır.

Örneğin:
1a 2a 3a 10b 20b 30b 15c 25c 35c (VARCHAR veritipi)
1a 10b 15c 2a 20b 25c 3a 30b 35c (Sıralanmış hali)
İhtiyacımız olan
1a 2a 3a 10b 15c 20b 25c 30b 35c (Sorted integer)
Bu işlemi mysql CAST ile yapabiliriz.
SELECT vNumber FROM table ORDER BY CAST(`vNumber` AS SIGNED)
Ters sıralama için
SELECT vNumber FROM table ORDER BY CAST(`vNumber` AS SIGNED) DESC
İhtiyaç duyabileceğimiz diğer değişim tipleri: 
  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]

Hiç yorum yok: