Oracle,将日期时间作为其当月的第一天

时间:2011-10-21 14:05:50

标签: sql oracle

我有一个日期变量,我想把它转换为它的第一天,

  • 例如:10/10/2010 - > 01/10/2010
  • 例如:31/07/2010 - > 01/07/2010

6 个答案:

答案 0 :(得分:42)

根据http://psoug.org/reference/date_func.html,这应该是花花公子......

SELECT TRUNC(yourDateField, 'MONTH') FROM yourTable

答案 1 :(得分:8)

SQL> select to_date('31/07/2010', 'DD/MM/YYYY') from dual;

TO_DATE('
---------
31-JUL-10

SQL> select trunc(to_date('31/07/2010', 'DD/MM/YYYY'), 'MM') from dual;

TRUNC(TO_
---------
01-JUL-10

SQL>

答案 2 :(得分:6)

select trunc(sysdate, 'mm') from dual;

答案 3 :(得分:2)

SELECT trunc(to_date('22-AUG-03'), 'MON') FROM dual;

manual中的更多信息 关于Oracle需要虚拟FROMSelect without a FROM clause in Oracle

答案 4 :(得分:2)

试试这个


select trunc(sysdate, 'MM')firstday , trunc(last_DAY(sysdate)) lastday from dual;

答案 5 :(得分:0)

这是一个很好的例子:

select trunc(to_date('15.11.2019', 'DD.MM.YYYY'), 'MONTH') from dual;