用PLSQL中的另一个数字替换日期中的日部分

用PLSQL中的另一个数字替换日期中的日部分,sql,oracle,oracle11g,date-formatting,Sql,Oracle,Oracle11g,Date Formatting,我正在尝试替换日期值中的日部分。比如说 select TRUNC(SYSDATE) from dual; 结果:2014年11月28日 我只想用另一个数值(X)替换28。所以我可以像2014年11月X日那样得出结果 你能帮帮我吗 提前感谢, 穆鲁根 trunc(sysdate,'MM') + (x-1) 我会的trunc(sysdate,'MM')返回月份的第一个。然后,您可以添加任意天数来获取所需的日期。如果是字符,则可以使用以下查询: SELECT 'X'||SUBSTR(TRUNC(S

我正在尝试替换日期值中的日部分。比如说

select TRUNC(SYSDATE) from dual;
结果:2014年11月28日

我只想用另一个数值(X)替换28。所以我可以像2014年11月X日那样得出结果

你能帮帮我吗

提前感谢,

穆鲁根

trunc(sysdate,'MM') + (x-1)

我会的
trunc(sysdate,'MM')
返回月份的第一个。然后,您可以添加任意天数来获取所需的日期。

如果是字符,则可以使用以下查询:

SELECT 'X'||SUBSTR(TRUNC(SYSDATE),3) FROM DUAL;
如果要替换为其他号码,则:

SELECT TO_DATE(21||SUBSTR(TRUNC(SYSDATE),3),'DD-MON-YY') FROM DUAL;

您的问题中没有PL/SQL,我喜欢这个问题——如果需要,它允许保留时间。
SELECT TO_DATE('01' || SUBSTR(TO_CHAR(SYSDATE, 'DD/MM/YYYY'),3))
FROM DUAL
WHERE TO_CHAR(SYSDATE, 'DD') = '25';