Mikhail Osher, да, согласен, за это хочу извиниться, просто полное тз не знал как упростить до того чтобы не отпугнуть, на самом деле первичная строка намного страшнее чем я показал, вы крутые, спасибо за помощь)
Mikhail Osher, мне нужно чтобы он как бы с конца начал проверку. а не с начала, у вас хорошее решение, но
кавычки могут быть в кавычках, пример: col_3[varchar]:'текст1 ''текст'' текст2'
Сергей Горностаев, проблема в том что я выгружаю все данные (буквально select * from [имя_таблицы]) и ложу их в СУБД SQL Server, мне нужно указать PostgreSQL что дату/время с UTC нужно выводить с минутами в UTC (2014-04-04 20:32:59.390583+02:00, а не так как он это делает 2014-04-04 20:32:59.390583+02)
У меня процедура написанная на java, я делаю выборку миллиона записей в ней и процедура падает по ошибке ORA-29532 java.lang.OutOfMemoryError, если делать выборку из 100 записей, то все ок
Насчет "давайте все цифры складывать в справочник", если у Вас есть такая необходимость не вижу причин не делать этого) Во всем должен быть смысл, вот смотрите, запрос:
SELECT *
FROM DataTime T
JOIN Module_1 M1
ON T.ID = M1.IDtd
JOIN Module_2 M2
ON T.ID = M2.IDtd
Или
SELECT *
FROM Module_1 M1
FULL JOIN Module_2 M2
ON M1.Data = M2.Data
Просто мне нравится первый вариант, ну тут кому как. P.S. Извиняюсь за *
Такой принцип используют в хранилищах данных (DWH), один справочник должен быть с датой и временем, там даже лучше чтобы гранулярность была высокая (детализация как в 1 картинке).
Подумал что может будет лучше реализовать это в операционной таблице.
К примеру у меня 20 таблиц Module, в каждой есть DATETIME 8 bytes, в итоге 160 bytes
Или справочник, даже с высокой гранулярностью 7 полей INT по 4 bytes, и итоге 28 bytes, плюс хороший первичный ключ у Module.