У меня есть таблица, в которую я хочу объединить 4 столбца; 2 из них являются целыми числами, 1 текст и 1 дата.
Я соединил их, приведя целые числа к varchar и отформатировав дату. Но у меня есть пример, когда последний элемент не отображается
SELECT
CAST(CONTRACT_ID VARCHAR(15)) + '-' +
CAST(CONTRACT_TYPE AS VARCHAR(15)) + '-' +
GENDER + '-' + FORMAT(DOB, 'yyyy') AS UNIQUE_ID
Есть 4 строки, которые должны иметь одинаковый вывод, тогда они отличаются.
- 12345678-70-M -1948
- 12345678-70-M
- 12345678-70-M
- 12345678-70-M
Но при запуске как результаты в текст, правильные результаты возвращают
- 12345678-70-M -1948
- 12345678-70-M -1948
- 12345678-70-M -1948
- 12345678-70-M -1948
Это не визуальная ошибка в сетке, потому что если я сделаю фильтр на нем, он вернет только 1 строку.
Однако я заметил, что если я приведу пол к varchar(1)
, результаты сработают. Может ли быть скрытый символ в конце поля пола, который вызывает проблему.
Кажется, он работает нормально в 99% случаев.