在oracle中插入日期

时间:2014-03-04 08:59:11

标签: sql oracle date

当我在Oracle中执行以下查询时

select TO_CHAR((CURRENT_DATE),'DD-Mon-YYYY HH24:MI:SS')  from dual;
 O/P : 04-Mar-2014 14:25:14

我想选择current date,而不选择current time,如下所示

select TO_CHAR(trunc(CURRENT_DATE),'DD-Mon-YYYY HH24:MI:SS')  from dual;
O/P  :  04-Mar-2014 00:00:00

实现唯一的方法是在查询中应用函数trunc()?还有别的办法吗?

编辑:感谢您的回复。可以在没有任何功能的情况下完成吗?(无需使用to_char或trunc)
{抱歉错过了此信息}

4 个答案:

答案 0 :(得分:2)

答案只是没有,没有功能只能获取日期/时间的日期部分(毕竟偶然current_datesysdate是函数)。

您应该始终使用trunc来获取当前日期,而不是时间。

没有必要一起做truncto_char。保留to_char,不要指定时间部分。

这就足够了:

将日期设为varchar

select TO_CHAR(CURRENT_DATE,'DD-Mon-YYYY')  from dual

要将日期设为date,时间部分为00:00:00

select trunc(CURRENT_DATE)  from dual

答案 1 :(得分:1)

你可以这样做:

select TO_CHAR(CURRENT_DATE,'DD-Mon-YYYY')||' 00:00:00'  from dual;

答案 2 :(得分:1)

还有EXTRACT功能可以这样使用:

SELECT extract(DAY FROM sysdate)
||'-' ||
extract(MONTH FROM sysdate) 
|| '-' || extract(YEAR FROM sysdate) 
FROM dual;

结果:4-3-2014

答案 3 :(得分:-1)

使用此查询...

select (TO_CHAR(TRUNC(CURRENT_DATE),'DD-Mon-YYYY HH24:MI:SS'))  from dual