PDA

View Full Version : Displaying Thai Buddha NLS_Calendar with American NLS_Date_Language


DannyM
10-31-2003, 01:18 AM
Hi

I am have difficulties displaying dates in the NLS_DATE_LANGUAGE I
specify.

When

NLS_CALENDAR = Thai Buddha
NLS_DATE_FORMAT = DD-Month-YYYY
NLS_DATE_LANGUAGE = AMERICAN


select sysdate from dual;

SYSDATE
----------------------
31-@@$@#-2546

(where the @@$@# is the month written properly in Thai (I just cannot
display in this message)

However, the result should be

SYSDATE
-------------------
31-October-2546

(this is the correct date in Thailand and equivalent to 31-Oct-2003 in
the Gregorian Calendar)

Also, the statement

select to_char(sysdate, 'DD-Mon-YYYY', 'nls_date_language = american')
from dual;


TO_CHAR(SYSDATE,'DD-'
----------------------
31-@@$@#-2546


So, it seems as if the NLS_DATE_LANGUAGE has no effect on the Thai
Buddha Calendar. If I switch the calendar back to Gregorian I can use
the NLS_DATE_LANGUAGE to switch between English, French, etc display
of weekdays and months.

I see a few posts on Oracle's web site about having difficulties
displaying "Asian Calendars" in western languages. No soultions were
give..

Has anyone experienced this or have a work around.

Thanks,

Dan

mcstock
10-31-2003, 03:57 AM
you may need to write a custom function as a work-around -- have your
function concatenate the values returned from to_char for the Thai Buddha
year) to the English month -- likely you'll have to hard-code the English
month names.

-- mcs

"DannyM" <dannyjm@aol.com> wrote in message
news:e7ff45b0.0310310118.2b760c56@posting.google.com... Hi I am have difficulties displaying dates in the NLS_DATE_LANGUAGE I specify. When NLS_CALENDAR = Thai Buddha NLS_DATE_FORMAT = DD-Month-YYYY NLS_DATE_LANGUAGE = AMERICAN select sysdate from dual; SYSDATE ---------------------- 31-@@$@#-2546 (where the @@$@# is the month written properly in Thai (I just cannot display in this message) However, the result should be SYSDATE ------------------- 31-October-2546 (this is the correct date in Thailand and equivalent to 31-Oct-2003 in the Gregorian Calendar) Also, the statement select to_char(sysdate, 'DD-Mon-YYYY', 'nls_date_language = american') from dual; TO_CHAR(SYSDATE,'DD-' ---------------------- 31-@@$@#-2546 So, it seems as if the NLS_DATE_LANGUAGE has no effect on the Thai Buddha Calendar. If I switch the calendar back to Gregorian I can use the NLS_DATE_LANGUAGE to switch between English, French, etc display of weekdays and months. I see a few posts on Oracle's web site about having difficulties displaying "Asian Calendars" in western languages. No soultions were give.. Has anyone experienced this or have a work around. Thanks, Dan

DannyM
11-02-2003, 04:25 AM
Thanks for the reply,

Do you know if there is a bug with the NLS_DATE_LANGUAGE not working
properly with Asian languages in Oracle 8i?

In the mean time, I will write several date functions to return
several formats of the varchar date with an English month or
abbreiation as a work around.

FYI, the "Day" or "DY" format abbreviations work and return Tuesday,
or Tue, respectively when setting NLS_DATE_LANGUAGE = "AMERICAN"... it
is just the months.


"mcstock" <mcstockx@xenquery.com> wrote in message news:<tcmdnWQPFN6u0z-iRVn-jg@comcast.com>... you may need to write a custom function as a work-around -- have your function concatenate the values returned from to_char for the Thai Buddha year) to the English month -- likely you'll have to hard-code the English month names. -- mcs "DannyM" <dannyjm@aol.com> wrote in message news:e7ff45b0.0310310118.2b760c56@posting.google.com... Hi I am have difficulties displaying dates in the NLS_DATE_LANGUAGE I specify. When NLS_CALENDAR = Thai Buddha NLS_DATE_FORMAT = DD-Month-YYYY NLS_DATE_LANGUAGE = AMERICAN select sysdate from dual; SYSDATE ---------------------- 31-@@$@#-2546 (where the @@$@# is the month written properly in Thai (I just cannot display in this message) However, the result should be SYSDATE ------------------- 31-October-2546 (this is the correct date in Thailand and equivalent to 31-Oct-2003 in the Gregorian Calendar) Also, the statement select to_char(sysdate, 'DD-Mon-YYYY', 'nls_date_language = american') from dual; TO_CHAR(SYSDATE,'DD-' ---------------------- 31-@@$@#-2546 So, it seems as if the NLS_DATE_LANGUAGE has no effect on the Thai Buddha Calendar. If I switch the calendar back to Gregorian I can use the NLS_DATE_LANGUAGE to switch between English, French, etc display of weekdays and months. I see a few posts on Oracle's web site about having difficulties displaying "Asian Calendars" in western languages. No soultions were give.. Has anyone experienced this or have a work around. Thanks, Dan


MyLounge.com Site Map
Forum: Cars, Cell Phone, Database, Games, Home Improvement, IT, Music, School, Sports, Web Design, Web Server, Weight Loss

The MyLounge.com forum is intended for informational use only and should not be relied upon and is not a substitute for any advice. The information contained on MyLounge.com are opinions and suggestions of members and is not a representation of the opinions of MyLounge.com. MyLounge.com does not warrant or vouch for the accuracy, completeness or usefulness of any postings or the qualifications of any person responding. Please consult a expert or seek the services of an attorney in your area for more accuracy on your specific situation. Please note that our forums also serve as mirrors to Usenet newsgroups. Many posts you see on our forums are made by newsgroup users who may not be members of MyLounge.com Term of Service