SQL Server 2005'te, 1 yıl öncesinden + bu yılın geçerli olduğu zamandaki tüm satırları silmeniz gereken bir temizleme işlemi üzerinde çalışıyorum.Yılın ilk saniyesinin tarihini SQL ile nasıl alabilirim?
Ör: I (yani dahildir ve geriye 2007) bugün 2008-01-01 00:00 daha satırlar eski silmek zorunda 2009/06/10 prosedürü yürütmek durumunda.
Yılın ilk saniyesinin tarihini nasıl alabilirim?
select cast((DATEPART(year, getdate()) -1)AS DATETIME);
ama (ben yanlış beklendiği gibi) ben 1905-07-02 00:00:00.000
değil 2008-01-01 00:00
olsun:
Bu denedim.
Birisi bana yardım edebilir mi?
Hmm .. Bu soruya verilen diğer cevapların (yazının yazıldığı tarihte) 8 tane oyu vardır, oysa benimki sadece 1 yukarı ve 1 aşağı oyundur, ancak benimki doğru cevabı veren tek çözümdür. (yani. Bugünün tarihi (6 Ekim 2009) için sonuç 2008-01-01 00:00:00, Raj'ın çözümü ise 2009-01-01 00:00:00) – CraigTP
SELECT CONVERT (DATETIME, CAST) YEAR (GETDATE()) - 1 AS VARCHAR) + '0101', 112) veya SELECT CONVERT (DATETIME, CAST (YEAR (GETDATE()) - 1 AS VARCHAR), 112) daha fazla, çünkü giriş formatını belirler. – LukLed
@CraigTP: Doğru cevabı aldığınız için kendimi size bıraktım. Düzeltmeyi –