在 SQL 服务器中将 DateTime 转换为所需格式

Convert DateTime into desired format in SQL Server

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

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

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

在SQL服务器中,同样的事情可以像下面这样实现。

convert(varchar(255), TXNDT, 131)

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

我可以在 Oracle 中做到这一点:

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

但是我怎样才能在 SQL 服务器上实现同样的事情呢?

任何帮助将不胜感激!

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

所以,对你来说,就是 CONVERT(varchar(20),TXNDT,120)。注意使用 varchar,而不是 datetime。

使用format()。我认为这符合您的要求:

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

如果你需要这个作为 varchar():

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