En büyük sayıyı çekme ? Coulumn Type nvarchar ?
-
21 Haziran 2012 Perşembe 16:11
Merhaba
ColumnType nvarchar olan bir kolonum var. Ve aşağıdaki gibi kayıt tutuyor.
0000001
0000002
0000003
0000004
............
0000112
Bu kayıtlar arasında en büyük olan kayıtı nasıl çekebilirim ? Yani 0000112 kayıtını çekmem gerekiyor. Daha büyük bir kayıt var ise onu çekmem gerekiyor ?
Tüm Yanıtlar
-
21 Haziran 2012 Perşembe 16:21
Merhaba DeveloperoneCSharp;
MAX Fonksiyonunu kullandık, MAX Fonksiyonu DAİMA integer çevireceği için sıkıntı olmayacaktır.select MAX(o.OgrenciNo) from OGRENCILER as o
// alias sevmiyenler için
select MAX(ColumnAdi) from TABLOADI
/// SQL Sorgusu olarak (Merak Ediyorsan OgrenciNo columnu varchar (10) ve identity değil)
gibi bir şey işini görecektir ?
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
- Düzenleyen Exe.Cute 21 Haziran 2012 Perşembe 16:30
- Yanıt Olarak İşaretleyen MSDN.CSharp 21 Haziran 2012 Perşembe 16:54
-
21 Haziran 2012 Perşembe 16:53
MAX ta problem çıkıyor diye hatırlıyorum. Özellikle 001 ve 010 kayıtı var ise 1 alıyor galiba 10 yerine ama yinede denemek gerekiyor.
Order by cast(nVarcharColumn as integer) desc bu kod kesin çözüm.
- Yanıt Olarak İşaretleyen MSDN.CSharp 21 Haziran 2012 Perşembe 16:54
-
22 Haziran 2012 Cuma 08:27Yanıtlayıcı
Merhaba DeveloperoneCSharp;
MAX Fonksiyonunu kullandık, MAX Fonksiyonu DAİMA integer çevireceği için sıkıntı olmayacaktır.select MAX(o.OgrenciNo) from OGRENCILER as o
// alias sevmiyenler için
select MAX(ColumnAdi) from TABLOADI
/// SQL Sorgusu olarak (Merak Ediyorsan OgrenciNo columnu varchar (10) ve identity değil)
gibi bir şey işini görecektir ?
Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com
Max() integer cevirimi yapmaz. Cevap yine de Max(). Integer'a cast etmek akillica olur aksi halde max alfabetik dizilimde max verir. ornek:
1, 2, 11, 3, 211
1, 11, 2, 211, 3 seklinde dizilir.
@DeveloperoneCSharp,
Oyle bir kolon neden nvarchar? Char ya da NChar olursa daha efektif olacak (hem depolama hem performans acisindan). Daha da oteye neden "karakter" tipinde.