Есть ли функция для объединения всех столбцов в teiid?

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

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

не работает

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

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

1 ответ

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

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

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

Другие вопросы по тегам