PeopleSoft 查询管理器表达式



使用Microsoft SQL Server,我尝试将A.CHECK_DT格式化为mmddyyyy - 使用前导零,因此今年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,没有前导零。有人有什么想法吗?

我想通了:

此脚本将为您提供MMDDYYYY的格式

替换(转换(VARCHAR(10(, CAST(A.CHECK_DT AS DATE(, 101(,'/',''(

(表达式类型 = 字符,长度 10(

[编辑] 下面的评论适用于Oracle数据库,但事实证明这个问题是针对Microsoft SQL Server的。我留下答案,以防它对通过搜索找到这个问题的其他人有用。

假设您在 oracle 上,请尝试在TO_CHAR函数告诉它您要如何格式化输出。

您可以使用TO_CHAR设置日期格式。 语法类似于TO_CHAR(YOURDATE,YOURFORMAT).对于您的具体示例,它 会TO_CHAR(A.CHECK_DT,'MMDDYYYY')

下面是一个将此 SQL 显示为工作查询的网页:

  • http://sqlfiddle.com/#!4/f2c01/3

以下是我通过搜索找到的一些好资源:Oracle TO_CHAR

  • https://www.techonthenet.com/oracle/functions/to_char.php

  • http://psoug.org/definition/TO_CHAR.htm

  • http://www.dba-oracle.com/f_to_char_sql.htm

当然,总是有 Oracle 文档(尽管它倾向于 要有更少的例子(:

  • https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm

  • https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34510

最新更新