以特定格式在DB2中查找当前服务器时间

时间:2012-03-17 07:27:49

标签: sql time db2

我想以HH:MM:SS:M

的格式在DB2中获取当前服务器时间

e.g。 21:05:38:7

我应该如何修改以下查询来实现它:

SELECT current time FROM sysibm.sysdummy1

感谢阅读!

1 个答案:

答案 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