Forum

SQL Server 2008 R2 ...
 
Bildirimler
Hepsini Temizle

SQL Server 2008 R2 Express Edition da tarihe göre sıralama problemi...

5 Yazılar
2 Üyeler
0 Reactions
1,397 Görüntüleme
(@emrahsaldik)
Gönderiler: 4
Active Member
Konu başlatıcı
 

İyi günler. İşyerimizde kullandığımız servis programımız var.Bu programda açık servisler ve kapalı servisler olarak iki alan alan mevcut. Yeni gelen servisler açık servis olarak görünüyor ve işlemi tamamlandıktan sonra servis kapatıldığında kapalı servislere düşüyor. Kapalı servis kısmından form yazdırılıp müşteriye veriliyor. Kapalı servis kısmında sıralamayı servisin kapanma tarihine göre sıralıyoruz.

strSQL2 = "Select  *,(select TOP(1) ACIKLAMA FROM TBLSERVISISLEM B  WHERE B.SERVISNO  =  A.SERVISNO order by ID DESC) AS ACIKLAMA , (select TOP(1) ACIKLAMA_SABIT FROM TBLSERVISISLEM B  WHERE B.SERVISNO  =  A.SERVISNO ORDER BY ID DESC) AS DURUM From TBLSERVISSABIT A where DURUM = 'KAPALI' and A.MUSTERI_ADI LIKE '%"&  Request.Form("musteri")  &"%' ORDER BY BITIS_TARIH DESC"

 

strSQL2 = "Select * From TBLSERVISSABIT where DURUM = 'KAPALI' and MUSTERI_ADI LIKE '%"&  Request.Form("musteri")  &"%' ORDER BY BITIS_TARIH DESC" (iki dizedede durum aynı)

BITIS_TARIH alanı nvarchar olarak tanımlanmış ve asp siteden oraya tarih ve saati yazıyor 01.01.2017 16:30:00 formatında. 2016 yılında hiç sorun yoktu.Ama 2017 yılına geçince 31.12.2016 ile başlayan tarihler ve hatta üstte 01.01.2017 gibi 2017 yılına ait tarihler sonda sıralanmaya başladı. Sıralamada DESC yerine ASC kullandığımda 01.01.2017 en üstte oluyor ama bu seferde 04.01.2017 arka sayfalarda kalıyor. Bunun bir çözümü var mı?

Teşekkürler

 
Gönderildi : 04/01/2017 15:11

(@emrahsaldik)
Gönderiler: 4
Active Member
Konu başlatıcı
 

Yavuz Bey ilginize teşekkürler. CONVERT(VARCHAR(24),GETDATE(),113)  Yani bu kodu mevcut kodun içine mi yerleştirmeliyim. Daha önce kullanmadığım bir kod.Araştırıyorum ama select ile birlikte her seferindemi çalıştırmalıyım yoksa bir sefer çalıştırınca tablo sütununu değiştiriyor mu anlamadım.

 
Gönderildi : 04/01/2017 17:12

(@emrahsaldik)
Gönderiler: 4
Active Member
Konu başlatıcı
 

SELECT  CONVERT(nvarchar, BITIS_TARIH, 113)FROM TBLSERVISSABIT

yapıyorum ama hiçbir değişiklik olmuyor.

 
Gönderildi : 04/01/2017 18:06

(@emrahsaldik)
Gönderiler: 4
Active Member
Konu başlatıcı
 

SELECT  CONVERT(datetime,BITIS_TARIH,104)FROM TBLSERVISSABIT

yazıyorum verileri çevirip sıralıyor ama bunu benim sorguma nasıl adapte edeceğimi bulamadım.O alanı kalıcı olarak dönüştürmek mümkün oluyor mu? yani nvarchar dan datetime a kalıcı olarak dönüştürebilirmiyim. Yada yeni bir tablo yapsam bu alanı datetime olarak oluştursam bu tablodaki verileri o tabloya kopyalayabilirmiyim.?

 
Gönderildi : 04/01/2017 19:55

(@TayfunKOC)
Gönderiler: 169
Reputable Member
 

SELECT  CONVERT(datetime,BITIS_TARIH,104)FROM TBLSERVISSABIT

yazıyorum verileri çevirip sıralıyor ama bunu benim sorguma nasıl adapte edeceğimi bulamadım.O alanı kalıcı olarak dönüştürmek mümkün oluyor mu? yani nvarchar dan datetime a kalıcı olarak dönüştürebilirmiyim. Yada yeni bir tablo yapsam bu alanı datetime olarak oluştursam bu tablodaki verileri o tabloya kopyalayabilirmiyim.?

 

Merhaba,

CONVERT(datetime,BITIS_TARIH,104) kısmını ORDER BY BITIS_TARIH DESC deki bitis tarihi yerine ekleyebilir misin?

 
Gönderildi : 10/01/2017 17:25

Paylaş: