2017-10-27 5 views
0

単純なOracleクエリーを使用して、月の名前を別の言語で選択する方法を教えてください。単純な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; 

をしかし、それは私にエラーを返し、動作しないん

Error Code : 907 Error Message : ORA-00907: missing right parenthesis Position : 50

+0

エラーコード:907 エラーメッセージ:ORA-00907:欠落している右括弧 ポジション:私は必要なまさに50 – Elliad

答えて

2

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 
+0

、ありがとう@GolezTrol! – Elliad

+1

最初のリンクは、** Oracle **のSQL関数のマニュアルではなく、 "OLAP DML Reference"です。したがって、構文が適用されないのは当然のことです。 'to_nchar()'関数の正しいリンクは次のとおりです。https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions208.htm#SQLRF06137 –

+0

@a_horse_with_no_nameうわー、私はそれを完全に見落としました。ありがとう! – GolezTrol

関連する問題