通过T-SQL直接将日期时间格式从YYYYMMDD转换为DDMMYYYY

3

我可以得到日期时间值为2012-07-24 15:31:21。

然而,它的格式并不是我想要的。这是我的当前查询:

SELECT CONVERT(datetime2(0), convert(varchar(20),GETDATE() , 120))

我希望将上述显示的日期时间转换为 DD/MM/YYYY HH:MM:SS 格式。

我已经搜索了很多地方。在 T-SQL 中转换日期格式通常是针对 Varchar 数据类型的。请问有人能直接通过 SQL 进行日期时间格式化吗?

谢谢。


3
在SQL Server中,DATETIME是一个8字节的二进制数,没有格式。只有在将其转换为用于显示的VARCHAR时,您才需要指定所需的格式。 - marc_s
1个回答

4
要么,你可以直接将日期/时间格式作为ToString方法的参数进行指定:
string dateTime = DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss");

第二个答案是

您可以使用任何支持dd-mm-yyyy格式的文化,比如法国文化。

例如,要将当前日期时间格式化为dd-mm-yyyy格式,可以按照以下步骤进行操作:

cultureInfo culture = new cultureinfo("fr-FR");
string oFormatedDate = dtNow.ToString("d", culture);

难道不应该是 DateTime.Now.ToString("dd//MM//yyyy hh:mm:ss"); 吗?请参考原帖要求。 - nawfal
1
“我需要以DD/MM/YYYY HH:MM:SS格式显示上述日期时间。”OP说。“DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss");”是否可以实现相同的效果? - nawfal
@nawfal 是的,那是我想要的,但我猜我会通过后台代码使用 varchar 格式进行转换。非常感谢兄弟:) - jan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接