我想在一个数据仓库建立一个时间维度。一些的Fileds应显示一个月或一周的名称。随着功能TO_CHAR(loaddate,'MONTH')
或TO_CHAR(loaddate,'DAY')
我得到的名字,但他们都是英文。在我来说,我需要他们在德国。
有没有办法直接在必要的语言让他们还是我有CASE工作,并在自定义函数转换?
谢谢
TO_CHAR(loaddate,'MONTH')
返回预计1 JANUAR
TO_CHAR(loaddate,'DAY')
返回周一预计蒙塔格
尝试运行SQL之前,适当设置专用寄存器当前Locale LC_TIME。
支持的语言环境名称列出here。例如de_DE这个或将de_CH。
下面是一个例子,使用命令行,你也可以设置在飞行中的特殊寄存器或存储过程中:
$ db2 "values monthname(current date)"
1
----------------------------------------------------------------------------------------------------
February
1 record(s) selected.
$db2 "set current locale lc_time = 'de_DE'"
DB20000I The SQL command completed successfully.
$ db2 "values monthname(current date)"
1
----------------------------------------------------------------------------------------------------
Februar
1 record(s) selected.