2013-03-05 13 views
-2

我有一個有2列的表,EffectiveBeginDate和EffectiveEndDate。但是,它們的編號爲YYYYMMDD格式,例如:在SQL中的日期編號where語句

代理| EffectiveBeginDate | EffectiveEndDate

John Doe | 20080922 | 20080924

馬克史密斯| 20100922 | 20110226

等等

我需要做2件事。首先,我需要一個公式來將EffectiveBegin/End日期更改爲我的Select語句中的實際日期格式。

更重要的是,我需要能夠在我的WHERE語句來查詢此列,如果他們acutal日期B/C where子句將是這樣的:

凡EffectiveStartDate之間的'01/01/2010'和'01/31/2010'

想法?

+2

是否使用的是DBMS:

對於數字日期,使用它? – 2013-03-05 19:07:11

+0

谷歌請... – mohammedn 2013-03-05 19:08:58

+0

SQL Server管理工作室 – Joshua 2013-03-05 19:16:32

回答

0

在SQL SERVER中,當dateTimeField的格式爲「yyyymmdd」時,執行CONVERT(DATETIME, dateTimeField)就足夠了。

更新: CONVERT(DATETIME, CONVERT(char(8),dateTimeField))

+0

謝謝。當我說他們是YYYYMMDD格式時,我的意思是他們的數字格式是這樣的,而不是實際的日期。因此,如果我要執行Convert(datetime,datetimefield),則會出現算術溢出錯誤 - 將表達式轉換爲數據類型datetime的算術溢出錯誤。 – Joshua 2013-03-05 19:15:47

+0

@Joshua:回覆更新 – 2013-03-05 19:18:57

+0

感謝pieter,我能夠得到這個工作。 – Joshua 2013-03-05 19:21:05