如何将datetime值转换为另一个日期格式?

时间:2011-12-15 10:35:53

标签: sql 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)

感谢您的所有答案!我为改变我的问题而道歉!

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

Crystal有一个名为Date的函数;它需要YYYY,MM,DD或日期时间作为参数并返回日期。

所以我建议你制作一个公式,将日期更改为日期时间并显示它。

date( mytable.mydatetimevar )

然后,您应该可以使用普通日期字段格式选项格式化此日期。

另一种方法是使用Crystal的DatePart函数提取月,年,日,然后根据需要进行重组。

答案 2 :(得分:0)

试试这个:

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

答案 3 :(得分:0)

我不认为DATETIME字段带有时间信息令人惊讶;)

事实上,您不应该改变字段本身,因为您将失去数据库引擎在此字段中使用日期/时间相关功能的能力。 (使用的格式是ISO 8601,可以帮助引擎轻松识别单个部件)

正如其他人所说,在您SELECT语句或应用程序中检索日期时,最好格式化日期。 (有关这方面的更多提示,我们确实需要有关sql server和您正在使用的应用语言的信息)。

答案 4 :(得分:0)

尝试使用样式ID转换 - 110

CONVERT(VARCHAR(10),myDateTimeField,110)

结果将是:02-07-2011