• 售前

  • 售后

热门帖子
入门百科

postgresql的now()与Oracle的sysdate区别阐明

[复制链接]
音乐之家1 显示全部楼层 发表于 2021-10-26 12:42:39 |阅读模式 打印 上一主题 下一主题
postgresql的now()为当前事件开始时间,
而Oracle的sysdate是当前时间。
区别在于事件。
  1. postgresql中的now():
  2. postgres=# begin ;
  3. BEGIN
  4. postgres=# select now();
  5.   now  
  6. -------------------------------
  7. 2017-03-31 14:28:32.403869+08
  8. (1 row)
  9. postgres=# select now();
  10.   now  
  11. -------------------------------
  12. 2017-03-31 14:28:32.403869+08
  13. (1 row)
  14. postgres=# select now();
  15.   now  
  16. -------------------------------
  17. 2017-03-31 14:28:32.403869+08
  18. (1 row)
  19. postgres=# end;
  20. COMMIT
  21. postgres=# select now();
  22.   now  
  23. -------------------------------
  24. 2017-03-31 14:28:54.917897+08
  25. (1 row)
  26. postgres=#
复制代码
而Oracle中的sysdate在事件中是一直变革的。
总结:
- postgresql的now()为当前事件开始时间,如果调用now(),就会获取事件开始的时间,而不是获取的体系当前的时间。
- Oracle的sysdate是获取当前时间,啥时候调用sysdate,就是啥时候的时间。
增补:mysql中now()函数的利用,还有oracle的sysdate,大概埋下的坑
mysql中now()函数的利用,还有oracle的sysdate
在需求中如果体系中药添加当前操纵的时间那么很简朴的一个操纵在写sql的时候直接在这个字段对应的位置写上now()函数就可以了,如许就少些了很多代码,尤其是在在用jdbc时写的时候,可以少写一些关于占位符的代码,但是如许做是有一个隐含的条件的是数据库和服务器是在同一个呆板上的,如果不在同一台呆板上,那么如许写就是一个坑啊,我觉得没有履历,没有掉进过坑的人就会如许写,好比我,偷懒就会如许写.比及用到这个时间来比较或者作为业务逻辑的判断依据时,这个坑就出现了
lz在定位题目做业务的时候就碰到了,其时,服务器在lz的电脑上,数据库在远端,由于业务必要就把时间调到未来的一个时间点,然后开始做,但是厥后颠末了1周左右,偶尔发现了一个表用的时间竟然时当前的真是时间,我就有了如许的推测,应该有一个步调员用了sysdate字段.只管没有明显找到,但是应该是用的,否则不会取到真实的时间啊.尤其一些必要长途调试的项目,同事对于编码规范,我觉得sql的编码规范也要把这一条加上去.
lz从前不懂也做过如许的事变,现在只能提示大家不要如许做,然后改掉本身最近如许写的代码.
发起用java生成new一个时间对象,如果用的是jdbc直接拼在sql里,可以不要用占位符.
  1. //在dao中这样写
  2. member(name,pw,register_time)value(?,?,'"+DbAssitor.sdfyyyyMMddHHmmss.format(new Date())+"');";
  3. //数据库助手类定义一个sdf类
  4. public class DbAssitor
  5. {
  6. /** 数据库相关操作中操作结果是没有影响行数 ***/
  7. public static int NO_AFFECT_ROW = 0;
  8. public static String sdfyyyyMMddHHmmss_ = "yyyy-MM-dd HH:mm:ss";
  9. public static SimpleDateFormat sdfyyyyMMddHHmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  10. }
复制代码
以上为个人履历,希望能给大家一个参考,也希望大家多多支持草根技能分享。如有错误或未思量完全的地方,望不吝见教。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作