在我的项目中,我们正在从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中实现同样的功能呢?
任何帮助将不胜感激!
答案 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。