Я ввел некоторые данные в таблицу базы данных в формате:

[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 были проблемы с автоматическим форматированием, из-за которых дефис превращался в тире, и мне нужно было убедиться, что отображается правильный!