Страницы

Поиск по вопросам

вторник, 16 октября 2018 г.

Разница между VARCHAR и VARCHAR2

Все кто имел дело с БД Oracle, знают, что объявлять символьные поля и переменные надо как VARCHAR2, а не VARCHAR
Но эти типы данных вроде синонимы:
CREATE TABLE table1 ( id number, text VARCHAR(10), text2 VARCHAR2(10) );
Name Null Type ----- ---- ------------ ID NUMBER TEXT VARCHAR2(10) TEXT2 VARCHAR2(10)
Так какая все таки между ними разница?


Ответ

На данный момент они синонимы.
VARCHAR зарезервирован Oracle для поддержки, в будущем, различия между NULL и пустой строкой, как описано в стандарте ANSI
VARCHAR2 не делает различий между NULL и пустой строкой, и никогда не будет делать.
Если вы полагаетесь на то, что пустая строка и NULL - одно и то же, используйте VARCHAR2
перевод ответа @Quassnoi

Комментариев нет:

Отправить комментарий