【发布时间】:2015-09-09 01:30:45
【问题描述】:
也许有一种方法可以将 postgresql 显示的间隔(例如“1330 天 10:54:54.266684”)自动翻译成其他语言?例如使用语言环境或其他设置,或者我必须使用替换,例如regexp_replace((now()-t.another_date)::text, 'day','dzień')?
【问题讨论】:
-
你可能想要
to_char -
当你没有使用正则表达式时,至少不要使用昂贵的
regexp_replace,还有正常的replace函数。但通常显示语义是在表示层中完成的,而不是在数据库本身中,如果可能的话。 -
我使用的是特定的框架,它与数据库非常“接近”,中间没有中间层,所以浏览器中显示的是“3天”的数据。我不确定简单的替换,因为天和天->我宁愿避免像“3 dzieńs”这样带有额外's'的结构
-
@CraigRinger - 我在 to_char 中看到我可以得到类似 'HH12:MI:SS' 的结果,但我更喜欢其他语言的全名。也可以吗?
-
@HWid 虽然
to_char支持本地化字符串并尊重LC_TIME,但它没有用于连接词的占位符,如“天”,所以我认为你不走运。支持DAYS、MONTHS之类的东西作为本地化单词的间隔格式占位符是一个很好的功能......也许建议 pgsql-hackers 邮件列表?
标签: postgresql datetime translation intervals postgresql-8.4