Не столько вопрос, сколько наблюдение ...
Я просто обновляюсь до SQL Server 2008 на моей машине для разработки в ожидании обновления моих живых приложений. Я не ожидал никаких проблем, так как [я думаю] я обычно использую стандартный T-SQL и, вероятно, не слишком далеко от стандартного ANSI SQL. Пока все хорошо, но меня действительно поразило очень простое изменение:
Я создавал простую небольшую справочную таблицу для хранения списка кодов и включения битового столбца для указания текущего кода по умолчанию. Но когда я использовал новую / модифицированную опцию «Edit Top 200 Rows» и ввел мои 0 и 1 в битовый столбец, я получил ошибку:
'Неверное значение для ячейки - строка была
не распознается как действительное логическое значение '
После небольшого почесывания головы я попробовал True и False - и они сработали.
Похоже, что для этой новой функции редактирования требуется набрать 4 или 5 символов, а не предыдущую 1.
Проверяя далее, мы все еще можем использовать '...where bitval = 1
', но теперь можем также использовать '...where bitval = 'true'
'. Но любые возвращенные результаты отображают эти битовые столбцы как 0 или 1.
Все это звучит как полшага назад. Не конец света, но и ненужное раздражение.
Есть ли у кого-нибудь понимание этого вопроса? Или есть какие-то новые Gotchas с SQL Server 2008?
2012 Обновление:
Только что установив SQL Server 2012, я заметил, что это поведение было «исправлено». Как и раньше, теперь я могу вводить 1/0, а не True / False непосредственно в строки, используя опцию «Edit Top 200 Rows». Это мелочь, но я счастлив.