我在sql中运行这两个语句,日期相隔两天。这破坏了我的疑问。为什么他们不是10/13/2015?
select sysdate from dual
-- 10/13/2015 5:09:43 PM
select trunc(sysdate, 'DAY') from dual
-- 10/11/2015
答案 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