2011-12-15 49 views
1

我的時間字段是這樣的:如何將datetime值轉換爲另一個僅限日期的格式?

2011-02-07 06:51:32.000 (yyyy-mm-dd) 

用戶輸入的格式如下:

02-07-2011 (only the date) 

這應該轉換爲:

02-07-2011 00:00:00.000 

我嘗試CONVERT:

CONVERT(VARCHAR(10),myDateTimeField,113) 

但這隻適用於與日期時間不一致的日期值。

請幫忙!

我用下面的功能:

CONVERT(datetime,Cast(myDateInput AS Char (10)), 105) 

感謝所有的答案!我的apoligizes改變我的問題!

+3

什麼數據庫您使用的? – tobiasbayer 2011-12-15 10:38:15

+0

我正在使用SQL .. – jorrebor 2011-12-15 10:46:21

+0

但是什麼產品? MySQL的?甲骨文? ... – tobiasbayer 2011-12-15 10:48:43

回答

0

水晶有一個叫做Date的功能;它將YYYY,MM,DD或日期時間作爲參數並返回一個日期。

所以,我建議你做一個公式,將日期更改爲日期時間並顯示它。

date(mytable.mydatetimevar) 

然後,您應該可以根據需要使用正常的日期字段格式化選項格式化此日期。

這樣做的另一種方法是使用Crystal的DatePart函數抽出月份,年份,日期,然後根據需要進行重構。

0

試試這個:

select DATEPART(mm, myDateTimeField) + '-' + 
     DATEPART(dd, myDateTimeField) + '-' + 
     DATEPART(year, myDateTimeField) 
0

我不認爲這是令人驚訝的是一個DATETIME場攜帶時間信息;)

事實上,你不應該改變字段本身,因爲你會失去數據基礎引擎能夠使用該字段的日期/時間相關功能。 (使用的格式是ISO 8601,這有助於發動機容易地識別單件)

正如其他人所說,這是格式化日期很好的做法,當您檢索它,無論是在你的SELECT陳述或在您的應用程序。 (關於這方面的更多提示,我們確實需要使用什麼sql server和什麼應用程序語言的信息)。

0

嘗試風格ID變換 - 110

CONVERT(VARCHAR(10),myDateTimeField,110) 

結果將是:2011年2月7日

相關問題