为什么我的日期转换如此关闭?

时间:2015-10-13 23:14:12

标签: sql oracle date

我在sql中运行这两个语句,日期相隔两天。这破坏了我的疑问。为什么他们不是10/13/2015?

select sysdate from dual
-- 10/13/2015 5:09:43 PM

select trunc(sysdate, 'DAY') from dual
-- 10/11/2015

2 个答案:

答案 0 :(得分:9)

trunc 'DAY'返回一周的开始日期。使用 for (int i = n; i <= m; i++) { ... int x = (int)Math.log10(i); int rest = i; for (int p = x; p>=0; p--) { int digit = rest / (int)Math.pow(10,p); rest = i % (int)Math.pow(10,p); //3802 = 3*10^3 + 8*10^2 + 0*10^1 + 2*10^0 } } ... ALTER USER YourUser WITH DEFAULT_SCHEMA = dbo; 'DDD'截断日期。

答案 1 :(得分:0)

我假设您要截断时间。因此,如果要将时间截断为午夜,则可以删除第二个参数。

SELECT to_char(SYSDATE,'mm/dd/yyyy hh24:mi:ss') FROM dual;
/
SELECT to_char(trunc(SYSDATE),'mm/dd/yyyy hh24:mi:ss') FROM dual;

输出:

TO_CHAR(SYSDATE,'MM/DD/YYYYHH24:MI:SS')
---------------------------------------
10/14/2015 07:35:24      

TO_CHAR(TRUNC(SYSDATE),'MM/DD/YYYYHH24:MI:SS')
----------------------------------------------
10/14/2015 00:00:00