2

在数据库表“项目”中,我有一列“日期”(输入日期)。在我的查询中,我想从包括此日期列在内的几列中构建一个字符串,但我希望日期显示为月份名称并同时在字符串中本地化。因此,如果日期是 2014 年 1 月 1 日,我希望在 mystring 中包含“column1 Janvier 中的一些文本”或“column1 January 中的一些文本”,具体取决于语言环境 fr 或 en 等。

这就是我的模型中的内容:

$select = $this->select()
->from('items', array(items.".*" , 'mystring'=>new Zend_Db_Expr('CONCAT('column1', 
'month'=> new Zend_Db_Expr('date->get(Zend_Date::MONTH_NAME)'))  
->where('somecondition = true');

这给了我一个 SQL 语法错误。我知道 SQL 有 MONTHNAME,但它没有本地化,只返回英文。

是否可以使用 Zend_Date 从 SQL 查询中的日期列中获取本地化月份名称?

4

1 回答 1

4

我不知道 Zend_Date,但是从 MySql 5.0.25 开始,您可以将 lc_time_names设置为您的语言,以您的语言为您提供日期和月份名称

SET lc_time_names = 'fr_FR'
于 2014-07-24T12:09:55.440 回答