Я бы попытался выполнить следующие шаги:
1) Проверьте, есть ли бит байтового заказа
2) Проверьте, действительно ли файл UTF8
3) Используйте локальную кодовую страницу «ANSI» (ANSI, как ее определяет Microsoft)
Этап 2 работает, потому что большинство не ASCII-последовательностей в кодовых файлах, которые UTF8 недействительны UTF8.
В Postgres вы можете использовать LEFT JOIN
в выражении UPDATE
со следующим синтаксисом:
UPDATE a
SET a.is_active = CASE WHEN b.id IS NULL THEN FALSE ELSE TRUE
FROM TABLE_A a
LEFT JOIN TABLE_B b ON a.id = b.id
Ну, вы можете использовать выражение CASE
:
UPDATE TABLE_A a
SET a.is_active = (CASE WHEN a.id IN (SELECT id FROM TABLE_B)
THEN FALSE ELSE TRUE
END);
В Postgres вы упростите это до:
UPDATE TABLE_A
SET is_active = (id IN (SELECT b.id FROM TABLE_B b));