DB2:使用DATE函数获取另一种语言的月或日名称(德语)

时间:2019-02-05 10:17:17

标签: sql db2

我想在数据仓库中建立一个时间维度。一些文件应显示月份或星期的名称。使用功能TO_CHAR(loaddate,'MONTH')TO_CHAR(loaddate,'DAY')我确实得到了名字,但是它们是英文的。就我而言,我需要德语。

是否有一种方法可以直接用必要的语言来获取它们?或者我是否必须使用CASE并将其翻译为自定义函数?

谢谢

TO_CHAR(loaddate,'MONTH')

返回JANUARY预期的JANUAR

TO_CHAR(loaddate,'DAY')

返回星期一预期的蒙塔格

1 个答案:

答案 0 :(得分:3)

尝试在运行SQL之前适当地设置特殊寄存器CURRENT LOCALE LC_TIME。

Reference

受支持的语言环境名称在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.