我想以HH:MM:SS:M
的格式在DB2中获取当前服务器时间e.g。 21:05:38:7
我应该如何修改以下查询来实现它:
SELECT current time FROM sysibm.sysdummy1
感谢阅读!
答案 0 :(得分:0)
Times,Dates,Timestamps是DB2以某种内部数据表示形式存储的所有数据类型。只有当您要求查看它时,SELECT MyTime FROM MyTable才会强制DB2将这些字节转换为人类可以读取的内容。 DB2将使用区域设置将DATE转换为例如2012-03-17,17 / 03/2012,...
当您在中央DB2数据库上开发并且您的客户来自英国,美国,法国,印度时,这可能非常有趣......他们都会抱怨日期不正确。您应该始终认为DB2会做错,并自己进行格式化。
这些最好由您使用的报告工具完成。因此,您可以为您的用户使用正确的格式,并且您不必满足于DB2数据库服务器上的任何语言环境设置。
在某些情况下,您必须在SQL中进行格式化。你看过the article Amit Bhargava referred to了吗?接近最后,作者创建了一个函数ts_fmt,它可以处理几种格式,并且可以使用您需要的任何格式轻松扩展:只需在ELSE部分之前添加此代码即可。
when 'HH:MM:SS:M'
then hh || ':' || mi || ':' || ss || ':' || nnnnnn