在SQL Server中将DateTime转换为所需的格式

时间:2017-11-27 12:47:01

标签: sql sql-server tsql date-formatting

在我的项目中,我们正在从Oracle数据库迁移到SQL Server。

在Oracle中,为了获得所需的日期格式,我们将使用to_char函数 - 它将返回我们在第二个参数中提到的所需格式:

TO_CHAR(TXNDT,'dd/MM/yyyy hh24:mi:ss')

在SQL Server中,可以像下面一样实现同样的目的。

convert(varchar(255), TXNDT, 131)

我的问题是:我想获取日期格式dd-MM-yyyy hh24:mi:ss

我可以在Oracle中执行此操作:

TO_CHAR(TXNDT,'dd-MM-yyyy hh24:mi:ss')

但是如何在SQL Server中实现同样的功能呢?

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

使用format()。我认为这样做你想要的:

format(TXNDT,'dd-MM-yyyy HH:mm:ss')

如果您需要varchar()

convert(varchar(255), format(TXNDT,'dd-MM-yyyy HH:mm:ss')

答案 1 :(得分:1)

CONVERT(Transact-SQL)包含CONVERT的所有样式代码。另请注意,您需要转换为varchar,而不是datetime。 datetime的固定显示格式为yyyy-MM-dd HH:mm:ss.sss。

所以,对你而言,它将是CONVERT(varchar(20),TXNDT,120)。注意使用varchar而不是datetime。