SELECT TRUNC(TO_DATE('2005-12-28','YYYY-MM-DD'),'D') FROM DUAL;
SELECT ROUND(TO_DATE('2005-12-28','YYYY-MM-DD'),'D') FROM DUAL
能够说说他们各自是什么意思吗﹖有什么区别
SELECT ROUND(TO_DATE('2005-12-28','YYYY-MM-DD'),'D') FROM DUAL
能够说说他们各自是什么意思吗﹖有什么区别
解决方案 »
- SQL语句到底分成多少种啊?
- linux下的oracle11g,进不去em,求教
- 千万级的数据量按时间字段降序排序慢
- Oracle中UTL_FILE读取文本时中文呈现乱码如何解决!
- 存储框架为什么只能用固定值的SQL语句呢?
- 安装oracle9i总是出错,提示我没有JAVA的运行环境
- update问题?
- 在linux操作系统下数据库导到另外一台在windows 2000 professional机器上的数据库??
- 我的oracle817 for nt 为什么这样?
- 如何赋予某个用户只有浏览的权限。
- sql:如果要包含各种变量,如何构造SQL语句,比如获取一个表的字段信息,据此创建一个相同结构的表?
- 游标嵌套和循环嵌套的问题,快快来看:先把sql中pubs数据库的authors、titles、titleauthor三张表传到oracle中,执行下面的饿语句,总是
将日期d按照fmt指定的格式舍入,fmt为字符串。
例如: round(to_date('20030105','yyyymmdd'),'yyyy')='01-1月 -03'
round(to_date('20030805','yyyymmdd'),'yyyy')='01-1月 -04' ·TRUNC(d[,fmt])
返回由fmt指定的单位的日期d.
例如: TRUNC(to_date('20030105','yyyymmdd'),'yyyy')='01-1月 -03'
TRUNC(to_date('20030805','yyyymmdd'),'yyyy')='01-1月 -03'SQL> SELECT ROUND(TO_DATE('2005-12-28','YYYY-MM-DD'),'YYYY') FROM DUAL;ROUND(TO_DATE('20
-----------------
20060101 00:00:00SQL> SELECT TRUNC(TO_DATE('2005-12-28','YYYY-MM-DD'),'YYYY') FROM DUAL;TRUNC(TO_DATE('20
-----------------
20050101 00:00:00
round:把'VALUE'从'N'位四舍五入;
trunc:把'VALUE'从'N'位截断。
---------- ----------
2 1日期一样的道理:
SQL> select round(date '2005-12-18','month') round_date,trunc(date '2005-12-18','month') trunc_date from dual;ROUND_DATE TRUNC_DATE
----------- -----------
2006-1-1 2005-12-1