2010-11-18 30 views
0

Bir tarih saatine benzeyen bir şey tutabilecek veya tutamayabilecek bir varchar sütunundaki DATEADD() veya DATEPART() gibi bir işlev kullanmak mümkün mü?Farklı türleri olan bir sütunda bir tarih işlevi kullanma

Şu anda, bu sütunda yalnızca datetime değerlerine sahip satırları seçmek ve olağan aritmetik taşma hatası almak için bir WHERE yan tümcesi kullanarak deniyorum.

Sadece datetime değerlerini ayıklamak ve tempolu bir tabloya koymak için bir tür işlem gerçekleştirebilirim ancak bunu merak ediyorum.

Örnek

SELECT DATEPART(wk, DateCreated) FROM tblOrders WHERE colType = 'datetime' 

masa tasarımı hakkında değil endişe mı, bu kadar kadar kötü değil bu.

cevap

6

Tablo tasarımı için endişe etme, o kadar da kötü değil.

sadece üç hatlarında ...

kullanın IsDate

+0

Biraz yumruk ve düzgün bir cevap olası geliyor, ama ... –

+0

:-) Hatta IsDate kullanmanın hiç düşünmemiştim(). Ancak yine de, WATE yan tümcesinde DATEPART() sütununu bununla kullanamadım. Temp tablosu yoluna gittikçe sona erdi çünkü ortaya çıktığında, tablo tasarımı başlangıçta fark ettiğimden daha zordu. Ayrıca, bugün bir rapor oluşturmayla ilgili bir hayal kırıklığından sonra yayınımı düzenledim. – Ciaran

İlgili konular