powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Формат даты
19 сообщений из 19, страница 1 из 1
Формат даты
    #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
Формат даты
    #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
Формат даты
    #35335964
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisЛокаль ОС смени (или формат даты в своей операционке)

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

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

P.S. Так и не понятно - сменили вы локаль в ОС или нет.
Если навести курсор на время в правом нижнем углу то дата выдается на каком языке ?
...
Рейтинг: 0 / 0
Формат даты
    #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
Формат даты
    #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
Формат даты
    #35338066
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое главное забыл - УКАЖИТЕ КЛИЕНТА, которым вы подсоединяетесь к серверу и выполняете запрос.
И какая все таки локаль у БД, из которой вы берете данные ?
...
Рейтинг: 0 / 0
Формат даты
    #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
Формат даты
    #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
Формат даты
    #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
Формат даты
    #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
Формат даты
    #35338411
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilisДенис, а откуда берет данные о локали eSQLEditor, когда переменных окружения CLIENT_LOCALE и
DB_LOCALE нет (они не установлены на клиенте) ? Читает из sysmaster ?Я их вообще не трогаю, я думаю в виндоусе оно само во что-то устанавливается клиентской частью информикса.
...
Рейтинг: 0 / 0
Формат даты
    #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
Формат даты
    #35338541
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А SQL Editor берёт переменные локали отсюда

HKEY_CURRENT_USER\Software\Informix\Environment
...
Рейтинг: 0 / 0
Формат даты
    #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
Формат даты
    #35339069
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasilis[quot Дядя Жора]Да... Наверное действительно всё дело было в SQL Editore. Перешёл на сервер студио и действительно переменные CLIENT_LOCALE и DB_LOCALE меняют формат вывода как надо. Попробовал русский и английский. Всё ок. Ставлю UA_UA.1251 - ругается
.в jdbc уже есть uk_ua.1251
...
Рейтинг: 0 / 0
Формат даты
    #35339796
Фотография Дядя Жора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем после долгих мытарств я спустился до уровня dbaccess и там всё работает на "ура" варьированием переменной CLIENT_LOCALE Работает и русская и английская и даже украинская локали. Украинскую правда пришлось предварительно скачать отсюда Главное что фурычит, а на остальных клиентах отыскать откуда они берут CLIENT_LOCALE это уже вопрос техники. Всем спасибо за ответы.
...
Рейтинг: 0 / 0
Формат даты
    #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
Формат даты
    #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
19 сообщений из 19, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Формат даты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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