Есть ли функция для объединения всех столбцов в teiid?
Я пытаюсь сделать контрольную сумму для обнаружения изменений в строках, чтобы я мог сравнить 2 таблицы. Один из способов, которые я сделал в прошлом, - это объединение всех столбцов, а затем создание хэша. Как я могу объединить все столбцы?
ВЫБЕРИТЕ concat(*) форму TABLE;
не работает
Я также попробовал вариант PostgreSQL
выберите r::text из sandbox.abs_frmt r;
1 ответ
По умолчанию длина строк ограничена, поэтому, вероятно, лучше всего использовать хеш каждого столбца и использовать функцию для объединения хешей.
Если у вас нет проблем с размером конкатетированного значения, ближайшая встроенная логика будет состоять в том, чтобы использовать jsonArray, jsonObject или xmlforest для создания одной вейла, представляющего строку - jsonArray может быть предпочтительнее, так как он будет просто быть значениями, без имен:
выберите sha2_256(приведение (jsonArray(col1, col2, ...) в качестве строки)),... из таблицы tbl;