Включает ли MS T-SQL тип данных, называемый varchar2? и если да, то в чем разница между этим и между varchar? - PullRequest
1 голос
/ 07 марта 2009

Имел этот вопрос в интервью.

Ответы [ 2 ]

8 голосов
/ 07 марта 2009

Нет. varchar2 - это тип данных Oracle, эквивалентный его (а также TSQL) собственному varchar.

ПОЯСНЕНИЯ

Различия между varchar и * 1010 в Oracle возникли еще тогда, когда стандарт ANSI SQL все еще формулировался . Я не могу найти каких-либо окончательных ссылок относительно того, какие именно различия в реализации, если они вообще были, были изначально (до Oracle 7), поскольку это остается источником путаницы . Достаточно сказать, что с тех пор Oracle 7 они практически трактуются как синонимы. Оба релиза претерпели улучшения (максимальный размер увеличился с 2 до 4 КБ) в выпуске 8. Обратите внимание, что TSQL varchar может хранить 8 КБ.

1 голос
/ 08 марта 2009

Я никогда не слышал предположений Влада о том, что тип данных VARCHAR используется только для поддержки 2k данных. Учитывая, что они являются синонимами в каждом выпуске начиная с 8.1.7 (я не проверял документацию для более ранних выпусков), это кажется мне странным. Влад, у тебя есть ссылка на это?

Из раздела Справочник SQL по типу данных VARCHAR

Тип данных VARCHAR в настоящее время синоним типа данных VARCHAR2. Oracle рекомендует использовать VARCHAR2, а не VARCHAR. в будущее, VARCHAR может быть определен как отдельный тип данных, используемый для символьные строки переменной длины по сравнению с другим сравнением семантика.

Поскольку Oracle предшествует стандарту SQL, определенная семантика сравнения в Oracle не соответствует стандарту (например, сравнение NULL и пустой строки). Теоретически, Oracle имеет тип данных VARCHAR, чтобы в будущем они могли изменить семантику сравнения типов данных VARCHAR в соответствии со стандартом SQL, не затрагивая обратную совместимость приложений, использующих тип данных VARCHAR2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...