PeopleSoft查询管理器表达式

时间:2019-12-17 21:42:07

标签: sql-server peoplesoft

我正在使用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,没有前导零。有人有什么想法吗?

2 个答案:

答案 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)