Я ввел некоторые данные в таблицу базы данных в формате:
[some text] [space] [hyphen] [space] [some more text]
Вот пример:
Затем я отправил коллеге по электронной почте конкретные критерии для запроса. Я сказал что-то вроде:
Убедитесь, что запрос ищет это:
Флорида – Орландо
Флорида – Майами
SQL выглядел примерно так:
SELECT * FROM myTable WHERE myField IN ('FL - Orlando','FL - Miami')
После запуска запроса не было загадочным образом никаких результатов.
MS Outlook был виновником
SQL был в порядке, однако, когда я набрал запрос в MS Outlook, он изменил дефис на тире. «-» изменил размер!
Данные, хранящиеся в моей базе данных, использовали дефис, но запрашивали тире.
В MS Outlook есть функция автоматического преобразования дефиса в тире. Он находится в разделе «Автоформат при вводе». Для меня он включен по умолчанию.
По сути:
- FL—Орландо // что было запрошено
- Флорида - Орландо // значение в базе данных
Размер дефиса/тире привел к тому, что точное совпадение НЕ было найдено, так как он искал неправильный символ.
Даже при наборе этого поста на Medium были проблемы с автоматическим форматированием, из-за которых дефис превращался в тире, и мне нужно было убедиться, что отображается правильный!