我想在数据仓库中建立一个时间维度。一些文件应显示月份或星期的名称。使用功能TO_CHAR(loaddate,'MONTH')
或TO_CHAR(loaddate,'DAY')
我确实得到了名字,但是它们是英文的。就我而言,我需要德语。
是否有一种方法可以直接用必要的语言来获取它们?或者我是否必须使用CASE并将其翻译为自定义函数?
谢谢
TO_CHAR(loaddate,'MONTH')
返回JANUARY预期的JANUAR
TO_CHAR(loaddate,'DAY')
返回星期一预期的蒙塔格
答案 0 :(得分:3)
尝试在运行SQL之前适当地设置特殊寄存器CURRENT 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.