如何使用简单的Oracle查询以其他语言选择月份名称?
SELECT TO_CHAR( myDateCol, 'month' ) AS "Mes calendaristico"
FROM MyTable;
上面的代码将以英语返回我所需的内容。
我也尝试过:
SELECT TO_NCHAR( myDateCol, NA, NLS_DATE_LANGUAGE 'spanish' ) AS "Mes calendaristico"
FROM MyTable;
但它确实不起作用,将错误归还给我:
错误代码:907 错误消息:ORA-00907:缺少右括号 位置:50
答案 0 :(得分:4)
This documentation on TO_NCHAR
建议您尝试的语法,但它适用于OLAP DML,而不是SQL。因此,给定的例子不起作用。
正确的方法是将NLS选项指定为字符串:
select
TO_NCHAR(SYSDATE, 'MON', 'NLS_DATE_LANGUAGE=spanish') -- OCT
from dual
TO_CHAR也可以这样做。
select
TO_CHAR(sysdate, 'MONTH', 'NLS_DATE_LANGUAGE=spanish') , -- OCTUBRE
TO_CHAR(sysdate, 'Month', 'NLS_DATE_LANGUAGE=spanish') , -- Octubre
TO_CHAR(sysdate, 'month', 'NLS_DATE_LANGUAGE=spanish') , -- octubre
TO_CHAR(sysdate, 'mon', 'NLS_DATE_LANGUAGE=spanish') -- oct
from dual