数据库中日期和时间数据类型的建模、存储与运算
1. 日期和时间值的建模
虽然日期值原则上可以用纯数字格式建模,但为确保数据正确且不被当作随机数字序列,需要付出更多额外努力。此外,关系系统中单个值应是原子的,不可分解;若可分解,则不应存储为单个通用值。
在Oracle RDBMS中,有两种创建DATE和TIMESTAMP值的方法:
- 使用ANSI构造函数,关注特定格式,定义右侧采用更精细的元素粒度,年份元素前是月份,月份前是日期。
- 使用显式构造函数,通过TO_DATE和TO_TIMESTAMP函数从字符串创建。
2. 获取实际日期和时间值
2.1 DATE数据类型
对于DATE数据类型,可使用sysdate和current_date函数获取实际日期和时间值:
- sysdate:是一个SQL函数,引用数据库服务器的操作系统获取实际日期和时间元素,其值会根据服务器的时区参数进行规范化。
- current_date:生成引用会话(客户端)时区的值。
在理想情况下,服务器和客户端位于同一区域且时区相同时,这两个值相同;但通常情况下,它们可能不同。例如:
select sysdate, current_date from dual;
输出示例:
SYSDATE CURRENT_DATE
25.03.2022 12:55:13 25.03.2022 04:55:13
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



