Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Формат даты / 19 сообщений из 19, страница 1 из 1
26.05.2008, 17:44
    #35335723
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Добрый день
Код: plaintext
1.
2.
SELECT 
TO_CHAR(mdate, "%A %B %d %Y")
FROM table

выдаёт
Понедельник Май 19 2008

А как бы мне получить
Monday May 19 2008 ?

Перепробовал уже DBLANG, CLIENT_LOCALE, DB_LOCALE, SERVER_LOCALE... - не помогает. Что делать, а?
...
Рейтинг: 0 / 0
26.05.2008, 18:49
    #35335863
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Дядя ЖораДобрый день
Код: plaintext
1.
2.
SELECT 
TO_CHAR(mdate, "%A %B %d %Y")
FROM table

выдаёт
Понедельник Май 19 2008

А как бы мне получить
Monday May 19 2008 ?

Перепробовал уже DBLANG, CLIENT_LOCALE, DB_LOCALE, SERVER_LOCALE... - не помогает. Что делать, а?
Локаль ОС смени (или формат даты в своей операционке)
...
Рейтинг: 0 / 0
26.05.2008, 20:09
    #35335964
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
vasilisЛокаль ОС смени (или формат даты в своей операционке)

Сменил. Не помогает. В частности всё правлю на "украинский"

ПУ - Язык и региональные стандарты. На всех закладках ставлю "украинский". Просит перезагрузки. Перезагружаюсь. Всё равно в запросе по-русски "Понедельник Май 19 2008"
...
Рейтинг: 0 / 0
26.05.2008, 22:26
    #35336108
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Как было бы полезно почитать "Перед тем, как задать вопрос в этом форуме, прочтите здесь" http://www.sql.ru/forum/actualthread.aspx?tid=229806
А после этого привести хотя бы название и точную версию своей операционной системы и версию IDS (да-да, телепаты ушли домой).

P.S. Так и не понятно - сменили вы локаль в ОС или нет.
Если навести курсор на время в правом нижнем углу то дата выдается на каком языке ?
...
Рейтинг: 0 / 0
27.05.2008, 11:57
    #35337011
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
vasilisКак было бы полезно почитать "Перед тем, как задать вопрос в этом форуме, прочтите здесь" http://www.sql.ru/forum/actualthread.aspx?tid=229806


Вы будете смеяться, но я перечитал там все темы относительно локали и не нашёл ни слова о том как локаль операционки влияет на выводимые значения языка дня недели или месяца.

vasilisА после этого привести хотя бы название и точную версию своей операционной системы и версию IDS (да-да, телепаты ушли домой).
P.S. Так и не понятно - сменили вы локаль в ОС или нет.
Если навести курсор на время в правом нижнем углу то дата выдается на каком языке ?


Win XP SP2 русская :) Эт моя машина (откуда запрос запускаю)
Informix 9.4 TC7 + Win 2003 Server аглицкая версия (эт на сервере)

Если у меня навести курсор на часики то выскакивает на украинском языке "27 травня 2008 р".
...
Рейтинг: 0 / 0
27.05.2008, 16:07
    #35337906
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Дядя Жора vasilisКак было бы полезно почитать "Перед тем, как задать вопрос в этом форуме, прочтите здесь" http://www.sql.ru/forum/actualthread.aspx?tid=229806

Вы будете смеяться, но я перечитал там все темы относительно локали и не нашёл ни слова о том как локаль операционки влияет на выводимые значения языка дня недели или месяца.

Вы знаете, я все таки буду смеяться, потому что вы даже не удосужились сходить по указанной ссылке. Я ведь вас не в FAQ посылал. Поэтому просьба, все таки прочитать именно то, что указано.
В частности, там есть замечательный пунктик (там, правда, почти все пункты замечательные :)
который придется процитировать в очередной раз:
Код: plaintext
1.
2.
3.
4.
 5 .Если это ошибка при выполнении утилиты командной строки - покажите точную командную строку;
- Если это ошибка SQL - сделайте маленький пример с созданием тестовой таблички и данных,
 который другие могут быстро воспроизвести у себя;
...
- Если это ошибка соединения - укажите точно клиента, способ соединения и версия драйвера(ов).

Дядя Жора
Win XP SP2 русская :) Эт моя машина (откуда запрос запускаю)
Informix 9.4 TC7 + Win 2003 Server аглицкая версия (эт на сервере)

О-о, оказывается, что клиент и сервер у нас на разных машинах (я же предупреждал, что телепаты временно отсутствуют), да еще и с разными локалями в ОС.

И что вы вообще хотите получить - в первом сообщении хотели на англ., а у себя локаль почему то меняли на укр. ?
...
Рейтинг: 0 / 0
27.05.2008, 16:49
    #35338066
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Самое главное забыл - УКАЖИТЕ КЛИЕНТА, которым вы подсоединяетесь к серверу и выполняете запрос.
И какая все таки локаль у БД, из которой вы берете данные ?
...
Рейтинг: 0 / 0
27.05.2008, 17:43
    #35338269
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
vasilisСамое главное забыл - УКАЖИТЕ КЛИЕНТА, которым вы подсоединяетесь к серверу и выполняете запрос.
И какая все таки локаль у БД, из которой вы берете данные ?

Спасибо модератору, что он всё-таки немного отфильтровал Ваш постик, а то как-то не солидно с Вашей стороны глумиться на форуме информикса, который в отличие от того же форума оракла всегда славился спокойным отношением к вопросам форумчан.
Итак я поясню.
База создавалась с такими переменными

Код: plaintext
1.
2.
3.
set CLIENT_LOCALE=RU_RU.CP1251
set DB_LOCALE=RU_RU.CP1251
set SERVER_LOCALE=RU_RU.CP1251
set DBLANG=EN_US.CP1252

Про локали операционок я уже писал. Дату я хочу получить у себя на украинском. А клиент у меня SQL Editor 2.10.TC2
...
Рейтинг: 0 / 0
27.05.2008, 17:56
    #35338319
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
> env|grep LOCALE
CLIENT_LOCALE=ru_ru. 1251 
DB_LOCALE=ru_ru. 1251 

echo 'SELECT TO_CHAR(today, "%A %B %d %Y") FROM table(set{1})' |dbaccess sysmaster
(expression)  ВТОРНИК МАЯ  27   2008 


> env|grep LOCALE
CLIENT_LOCALE=en_us. 1252 
DB_LOCALE=en_us. 1252 

> echo 'SELECT TO_CHAR(today, "%A %B %d %Y") FROM table(set{1})' |dbaccess sysmaster
(expression)  Tuesday May  27   2008 
...
Рейтинг: 0 / 0
27.05.2008, 18:09
    #35338379
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Дядя Жора vasilisСамое главное забыл - УКАЖИТЕ КЛИЕНТА, которым вы подсоединяетесь к серверу и выполняете запрос.
И какая все таки локаль у БД, из которой вы берете данные ?

Спасибо модератору, что он всё-таки немного отфильтровал Ваш постик, а то как-то не солидно с Вашей стороны глумиться на форуме информикса, который в отличие от того же форума оракла всегда славился спокойным отношением к вопросам форумчан.

Вообще-то, я сам модератор и сам свой же пост и поправил, т.к. почувствовал , после прочтения, тот самый нехороший стиль, как на оракловском :))
Дядя Жора
Итак я поясню.
База создавалась с такими переменными
Код: plaintext
1.
2.
3.
set CLIENT_LOCALE=RU_RU.CP1251
set DB_LOCALE=RU_RU.CP1251
set SERVER_LOCALE=RU_RU.CP1251
set DBLANG=EN_US.CP1252
Про локали операционок я уже писал. Дату я хочу получить у себя на украинском. А клиент у меня SQL Editor 2.10.TC2
Т.о. вам на клиенте (или в его окружении) нужно установить
set DB_LOCALE=RU_RU.CP1251
set CLIENT_LOCALE=UA_UA.CP1251
А SERVER_LOCALE не устанавливайте ни на сервере, ни на клиенте (пусть будет значение по умолчанию).
SQL Editor 2.10 у меня уже давно нет, поэтому проверить не могу, но возможно, что он берет CLIENT_LOCALE из нескольких мест, в том числе и из реестра (проверьте там).
Проверьте работу другими клиентами, тем же eSQLEditor.

А с локалью ОС я, наверное, поторопился. В данном случае, она, кажется, ни при чем.
...
Рейтинг: 0 / 0
27.05.2008, 18:13
    #35338396
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Журавлев Денис
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
> env|grep LOCALE
CLIENT_LOCALE=ru_ru. 1251 
DB_LOCALE=ru_ru. 1251 

echo 'SELECT TO_CHAR(today, "%A %B %d %Y") FROM table(set{1})' |dbaccess sysmaster
(expression)  ВТОРНИК МАЯ  27   2008 

> env|grep LOCALE
CLIENT_LOCALE=en_us. 1252 
DB_LOCALE=en_us. 1252 

> echo 'SELECT TO_CHAR(today, "%A %B %d %Y") FROM table(set{1})' |dbaccess sysmaster
(expression)  Tuesday May  27   2008 

Денис, а откуда берет данные о локали eSQLEditor, когда переменных окружения CLIENT_LOCALE и
DB_LOCALE нет (они не установлены на клиенте) ? Читает из sysmaster ?
...
Рейтинг: 0 / 0
27.05.2008, 18:18
    #35338411
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
vasilisДенис, а откуда берет данные о локали eSQLEditor, когда переменных окружения CLIENT_LOCALE и
DB_LOCALE нет (они не установлены на клиенте) ? Читает из sysmaster ?Я их вообще не трогаю, я думаю в виндоусе оно само во что-то устанавливается клиентской частью информикса.
...
Рейтинг: 0 / 0
27.05.2008, 18:47
    #35338507
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Да... Наверное действительно всё дело было в SQL Editore. Перешёл на сервер студио и действительно переменные CLIENT_LOCALE и DB_LOCALE меняют формат вывода как надо. Попробовал русский и английский. Всё ок. Ставлю UA_UA.1251 - ругается

Код: plaintext
Error - 79784 : Locale not supported

На http://informix.com.ua/download.htm скачал файлик UA_UA.zip и его содержимое кинул на клиенте в C:\Informix\Client-SDK\gls\ Не помогло.
...
Рейтинг: 0 / 0
27.05.2008, 19:02
    #35338541
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
А SQL Editor берёт переменные локали отсюда

HKEY_CURRENT_USER\Software\Informix\Environment
...
Рейтинг: 0 / 0
27.05.2008, 19:17
    #35338576
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Дядя ЖораДа... Наверное действительно всё дело было в SQL Editore. Перешёл на сервер студио и действительно переменные CLIENT_LOCALE и DB_LOCALE меняют формат вывода как надо. Попробовал русский и английский. Всё ок. Ставлю UA_UA.1251 - ругается
Код: plaintext
Error - 79784 : Locale not supported
На http://informix.com.ua/download.htm скачал файлик UA_UA.zip и его содержимое кинул на клиенте в C:\Informix\Client-SDK\gls\ Не помогло.
А на сервере добавили ?
К тому же -79784 выдается, вроде, при работе с JDBC. Там могут быть свои специфические заморочки.
Проверьте на том клиенте, что я вам уже советовал.
...
Рейтинг: 0 / 0
28.05.2008, 08:29
    #35339069
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
vasilis[quot Дядя Жора]Да... Наверное действительно всё дело было в SQL Editore. Перешёл на сервер студио и действительно переменные CLIENT_LOCALE и DB_LOCALE меняют формат вывода как надо. Попробовал русский и английский. Всё ок. Ставлю UA_UA.1251 - ругается
.в jdbc уже есть uk_ua.1251
...
Рейтинг: 0 / 0
28.05.2008, 12:41
    #35339796
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
В общем после долгих мытарств я спустился до уровня dbaccess и там всё работает на "ура" варьированием переменной CLIENT_LOCALE Работает и русская и английская и даже украинская локали. Украинскую правда пришлось предварительно скачать отсюда Главное что фурычит, а на остальных клиентах отыскать откуда они берут CLIENT_LOCALE это уже вопрос техники. Всем спасибо за ответы.
...
Рейтинг: 0 / 0
28.05.2008, 15:29
    #35340499
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Пара таблиц.

month_names (month_index, lang, short_name, long_name);
day_names(day_index, lang, short_name, long_name);
плюс функция my_to_char() работы на полчаса.

Или вообще:
Код: plaintext
1.
2.
select decode(5, 1, 'Сiчень', 2, 'лютий', 3, 'березень', 4, 'квiтень', 5, 'травень',
  6, 'червень', 7, 'липень', 8, 'серпень', 9, 'вересень', 10, 'жовтень', 11, 'листопад', 12, 'грудень')
from table(set{1})
...
Рейтинг: 0 / 0
28.05.2008, 16:42
    #35340783
Дядя Жора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты
Журавлев ДенисПара таблиц.

month_names (month_index, lang, short_name, long_name);
day_names(day_index, lang, short_name, long_name);
плюс функция my_to_char() работы на полчаса.

Или вообще:
Код: plaintext
1.
2.
select decode(5, 1, 'Сiчень', 2, 'лютий', 3, 'березень', 4, 'квiтень', 5, 'травень',
  6, 'червень', 7, 'липень', 8, 'серпень', 9, 'вересень', 10, 'жовтень', 11, 'листопад', 12, 'грудень')
from table(set{1})


Да я понимаю и если бы я писал софт, то именно так бы я и сделал. Но как всегда программа куплена ещё 100 лет назад, разработчиков уже не сыщешь. К тому же интересно было просто разобраться именно с локалью.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Формат даты / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]