|
Конверсия ТИПОВ
|
|||
---|---|---|---|
#18+
Проблема с конверсией: 'money'||to_char(now(),'YYYYMM') нужно представить в виде таблицы с одноимённым названием ! ============================================ PLEASE HELP ME !!! напишите плз на мыло или тут !!! <-+= vampiere@mail.ru =+-> ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 09:40 |
|
Конверсия ТИПОВ
|
|||
---|---|---|---|
#18+
Что то я не понял, чего же хочешь. Я так понимаю это средствами shell. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 10:55 |
|
Конверсия ТИПОВ
|
|||
---|---|---|---|
#18+
через шел 2пальца, а мне вот базу заставить надо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 14:54 |
|
Конверсия ТИПОВ
|
|||
---|---|---|---|
#18+
Насколько я понял тут хочется получить из двух колонок типов money и date получить одну типа text или char/varchar Хмм у меня это с ходу тоже не получилось и неудивительно в доке еще с версии 6.5.3 писано что тип money НЕ ПОДДЕРЖИВАЕТСЯ. Абыдно? мне тоже. Приходиться использовать numeric и извращаться с приставками. А как бы приятно было бы в тех же дельфях получить преобразование money/ftCurrency 8) Что касается конвертирования - я вообще не въехал во что можно сконвертить это грешный тип. Все на него орут - "Cannot cast type money to...." Вот так. Есть правда функция cash_out(money) cstring. НО! Что делать с этим cstring в sql я сказать не могу - это псевдотип сответствующий С-шным строкам. И вообще в разделе справки про псевдо-типы написано что использовать этот тип в SQL (например создавать колонки) нельзя. Зато его использует куча функций типа cp1251_to_koi8r Наверное придется писать такую функцию самому. Но IMHO лучше всего от этого типа отказаться пока не поздно внешними средствами сконвертить его в numeric - меньше проблем потом будет. По крайней мере можно смело говорить что поддержки девелоперами для этого типа нет уже 3 года и не ожидается. Вот пример : http://postgresql.wplus.net/mhonarc/pgsql-hackers/1999-06/msg01000.html ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 17:31 |
|
Конверсия ТИПОВ
|
|||
---|---|---|---|
#18+
Поразмыслив я решил выкинуть это решеньице на обсуждение ;) Прежде всего потому сабж топика не отвечает сути вопроса. По мне так в каталоге contrib инсталла постгреса полезных вещей, просто устанавливая его по короткой схеме или из портов многие начинающие проходят мимо. 1) cтавим из ./contrib/dblink такую прикольную штуку - dblink прозывается. С его помощью можно решить массу подобных проблем : а) собираем сишную часть - gmake install б) делаем функции - psql -f dblink.sql template1 Тут может быть только одна проблема - у меня например с ходу не нашелся libpq.so.3 - после корректировки путей все заработало. 2) допустим у нас есть уже куча таблиц (кстати с помощью dblinka наверное можно их и насоздавать ) вида public | money_200301 | таблица public | money_200302 | таблица public | money_200303 | таблица ..... (подчеркивание в имени таблы я влепил для читабельности) 3) теперь наш запрос будет иметь такой вид SELECT * FROM dblink('dbname=mdb1', 'select * from ' || 'money_'||to_char(now(),'YYYYMM')) AS t1("Оплата" numeric, "дата" date) Чего это зачит? Ну с первой строкой все просто - вызвали функцию, передали имя базы и запросик сгенеренный, а затем указали в каком виде мы расписали ее структуру получаемого рекордсета.... Кажется это то что и требовалось. Может быть Всемогущий All поправит меня? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2003, 13:52 |
|
Конверсия ТИПОВ
|
|||
---|---|---|---|
#18+
Поразмыслив я решил выкинуть это решеньице на обсуждение ;) Прежде всего потому сабж топика не отвечает сути вопроса. По мне так в каталоге contrib инсталла постгреса полезных вещей, просто устанавливая его по короткой схеме или из портов многие начинающие проходят мимо. 1) cтавим из ./contrib/dblink такую прикольную штуку - dblink прозывается. С его помощью можно решить массу подобных проблем : а) собираем сишную часть - gmake install б) делаем функции - psql -f dblink.sql template1 Тут может быть только одна проблема - у меня например с ходу не нашелся libpq.so.3 - после корректировки путей все заработало. 2) допустим у нас есть уже куча таблиц (кстати с помощью dblinka наверное можно их и насоздавать ) вида public | money_200301 | таблица public | money_200302 | таблица public | money_200303 | таблица ..... (подчеркивание в имени таблы я влепил для читабельности) 3) теперь наш запрос будет иметь такой вид SELECT * FROM dblink('dbname=mdb1', 'select * from ' || 'money_'||to_char(now(),'YYYYMM')) AS t1("Оплата" numeric, "дата" date) Чего это зачит? Ну с первой строкой все просто - вызвали функцию, передали имя базы и запросик сгенеренный, а затем указали в каком виде мы расписали ее структуру получаемого рекордсета.... Кажется это то что и требовалось. Может быть Всемогущий All поправит меня? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2003, 13:54 |
|
|
start [/forum/topic.php?fid=53&msg=32181068&tid=2008166]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 526ms |
0 / 0 |