есть ли функция для объединения всех столбцов в teiid? - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь сделать контрольную сумму для обнаружения изменений в строках, чтобы я мог сравнить 2 таблицы. Один из способов, которые я сделал в прошлом, - это объединение всех столбцов, а затем создание хэша. Как я могу объединить все столбцы?

ВЫБРАТЬ concat (*) форму TABLE;

не работает

Я также попробовал вариант PostgreSQL

выберите r :: text из sandbox.abs_frmt r;

1 Ответ

0 голосов
/ 06 ноября 2018

По умолчанию длина строк ограничена, поэтому, вероятно, лучше всего использовать хеш каждого столбца и использовать функцию для объединения хешей.

Если вас не беспокоит размер конкатетированного значения, ближайшая встроенная логика будет состоять в том, чтобы использовать jsonArray, jsonObject или xmlforest для создания единственной переменной, представляющей строку - jsonArray может быть предпочтительнее как это будут просто значения, без имен:

выберите sha2_256 (приведение (jsonArray (col1, col2, ...) в качестве строки)), ... из таблицы;

...