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函数显示的却完全不一样,有点懵了感觉


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

...全文
594 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
这些都是不难理解的问题

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧