oracle中sysdate的问题,为何trunc(sysdate,'day'),和to_char(sysdate,'day')结果显示的日期不对应???

迟到_啦 太原理工大学 项目开发工程师  2017-11-13 02:42:28
SQL> select trunc(sysdate,'day') from dual;

TRUNC(SYSD
----------
2017-11-12

SQL> select to_char(sysdate,'day') from dual;

TO_CHAR(SYSDATE,'DAY')
------------------------
星期一

问题1: 为何相同数据换个格式日期却不一样了???
问题2: 如下图:reunc函数返回date型,to_char返回字符型,为什么他俩可以直接比较大小?

问题3: 如下图: 求解释一下为何数据相同,trunc和to_char函数显示的却完全不一样,有点懵了感觉


希望 对这块了解的前辈多给我一些指点,万分感谢

...全文
447 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jcm007 2019-09-23
引用 5 楼 迟到_啦 的回复:
前辈,可否听一下您对 trunc和to_char 处理日期类型数据的 看法,就是 这俩个函数的处理数据的原理或者说为什么 处理之后日期会不一样呢


select trunc(sysdate,'day') from dual; --截取到周(本周第一天,即上周日)
  • 打赏
  • 举报
回复
迟到_啦 2017-11-13
  • 打赏
  • 举报
回复
迟到_啦 2017-11-13
前辈,可否听一下您对 trunc和to_char 处理日期类型数据的 看法,就是 这俩个函数的处理数据的原理或者说为什么 处理之后日期会不一样呢
  • 打赏
  • 举报
回复
迟到_啦 2017-11-13
引用 2 楼 qq646748739 的回复:
问题1: 为何相同数据换个格式日期却不一样了??? 这个是由于trunc和to_char两个函数在日期格式化方面的用法不同,导致输出结果不同。 问题2: 如下图:reunc函数返回date型,to_char返回字符型,为什么他俩可以直接比较大小? 在Oracle中不存在date类型和to_char类型日期可以直接比较。 问题2只所以会发生,原因在于:trunc(sysdate) - res_date返回的是一个数字。而to_char(sysdate,'d')也返回的是一个数字,所以它们可以比较大小。 问题3:求解释一下为何数据相同,trunc和to_char函数显示的却完全不一样,有点懵了感觉 和问题1是同一个问题: 由于trunc和to_char两个函数在日期格式化方面的用法不同
问题1: 显示的格式不一样能理解,可是日期也变化了,这说明他们对数据处理方式不同导致返回结果也不一样是么? 我刚看到你的回复又查看了一下我的问题3的图,我发现 好像 trunc函数的结果都是一样的,(都是指一周的第一天),to_char函数结果也都一样,(都是指当天), 我是想确定一下,d和day差的结果是一样的吧, 网上说day是d的全拼,起初从我的测试结果一看,对这个说法还不大确定 问题2:我记得在java中,即便俩个都是数字,但是一个string型,一个数字型,也不能直接比较大小,必须转换类型,(或者不写类型转换但是系统默认会转换类型)但是这里没有转换也可以比较,是不是也是因为他们中有默认类型转换才完成了比较
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-13
没问题的话,可以结贴了。
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-13
问题1: 为何相同数据换个格式日期却不一样了???
这个是由于trunc和to_char两个函数在日期格式化方面的用法不同,导致输出结果不同。

问题2: 如下图:reunc函数返回date型,to_char返回字符型,为什么他俩可以直接比较大小?
在Oracle中不存在date类型和to_char类型日期可以直接比较。
问题2只所以会发生,原因在于:trunc(sysdate) - res_date返回的是一个数字。而to_char(sysdate,'d')也返回的是一个数字,所以它们可以比较大小。

问题3:求解释一下为何数据相同,trunc和to_char函数显示的却完全不一样,有点懵了感觉
和问题1是同一个问题: 由于trunc和to_char两个函数在日期格式化方面的用法不同
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-13
这些都是不难理解的问题
  • 打赏
  • 举报
回复
相关推荐
发帖
基础和管理
加入

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2017-11-13 02:42
社区公告
暂无公告