我正在使用Microsoft SQL Server将A.CHECK_DT的格式设置为mmddyyyyy-带前导零,因此,今年1月11日应为:01112019。 麻烦的是我尝试的所有方法都不正确。我最想改变格式的是:
CONCAT(MONTH((CONVERT(CHAR(10),A.CHECK_DT,101))),DAY((CONVERT(CHAR(10),A.CHECK_DT,101))),YEAR((CONVERT(CHAR( 10),A.CHECK_DT,101))))
但这会将日期转换为1182019,没有前导零。有人有什么想法吗?
答案 0 :(得分:1)
[edit]以下注释适用于Oracle数据库,但事实证明此问题适用于Microsoft SQL Server。如果对通过搜索找到此问题的其他人有用,我将保留答案。
假设您使用的是oracle,请尝试在
TO_CHAR
函数告诉它您要如何格式化输出。您可以使用
TO_CHAR
格式化日期。语法就像TO_CHAR(YOURDATE,YOURFORMAT)
。对于您的特定示例 将是TO_CHAR(A.CHECK_DT,'MMDDYYYY')
这是一个网页,其中显示此SQL作为有效查询:
我通过搜索以下内容找到了一些不错的资源:
Oracle TO_CHAR
:
当然,总是有Oracle文档(尽管它倾向于 以减少示例):
答案 1 :(得分:1)
我知道了:
此脚本将为您提供MMDDYYYY的格式
替换(CONVERT(VARCHAR(10),CAST(A.CHECK_DT AS DATE),101),'/','')
(表达类型=字符,长度10)