【发布时间】:2025-12-30 05:30:16
【问题描述】:
我正在处理一个家庭作业问题,我的功能运行良好。我完成了教授的要求,但我需要帮助使用 Trim() 方法格式化我的最后一条语句。我不知道如何用其他两种方法正确嵌套它。我在第一行做得很好,但我在第 3 行很难格式化“FIRST_PAY DAY”列的日期。下面是我使用一个 Trim() 方法的工作函数-
SQL> SELECT empno, ename, sal, TRIM(TO_CHAR(hiredate, 'Month')) || ' ' ||
TO_CHAR(hiredate, 'fmddTH, YYYY') AS "HIRE DAY",
2 TO_CHAR(NEXT_DAY(hiredate, 'FRIDAY'),
3 'Month fmddTH, YYYY') "FIRST_PAY DAY"
4 FROM emp;
谢谢!
这是我尝试做的代码,但没有成功-
SQL> SELECT empno, ename, sal, TRIM(TO_CHAR(hiredate, 'Month')) || ' ' ||
TO_CHAR(hiredate, 'fmddTH, YYYY') AS "HIRE DAY",
2 TO_CHAR(NEXT_DAY(hiredate, 'FRIDAY'),
3 TRIM(TO_CHAR('Month')) || ' ' || TO_CHAR('fmddTH, YYYY'))
"FIRST_PAY DAY"
4 FROM emp;
“HIRE DAY”列使用 TRIM() 方法正确格式化,但“First_PAY DAY”列不正确。下面是我从两个日期列输出的一部分-
HIRE DAY FIRST_PAY DAY
___________________ ___________________
May 1st, 1981 May 8th, 1981
【问题讨论】:
-
明确显示你得到的输出,以及你期望的输出。
-
我编辑了帖子,以便您查看。谢谢。
-
您也可以使用
'fmMonth'- 'fm' 将删除填充。见docs.oracle.com/cd/B19306_01/server.102/b14200/… -
这很好用!但是对于个位数日期,我得到一个前导“0”。有什么建议么?这是我的代码-'fmMonth fmddTH, YYYY') "FIRST_PAY DAY"
-
我想去掉 'ddTH' 中的 'fm'。现在完美运行。谢谢你,@kfinity。