В чем разница между CHARACTER VARYING и VARCHAR в PostgreSQL?
Джон использует CHARACTER VARYING
в местах, где я использую VARCHAR
, Я новичок, а он эксперт. Это наводит меня на мысль, что есть что-то, чего я не знаю.
В чем разница между CHARACTER VARYING и VARCHAR в PostgreSQL?
4 ответа
Varying - это псевдоним для varchar, поэтому без разницы смотрите документацию:)
Обозначения varchar (n) и char (n) являются псевдонимами для символов, изменяющихся (n) и символа (n), соответственно. символ без спецификатора длины эквивалентен символу (1). Если изменение символов используется без спецификатора длины, тип принимает строки любого размера. Последнее является расширением PostgreSQL.
Документация PostgreSQL по типам символов является хорошим справочным материалом для этого. Это два разных имени для одного типа.
Короткий ответ: разницы нет.
Длинный ответ: CHARACTER VARYING
- это официальное имя типа из стандарта ANSI SQL, которое должны поддерживать все совместимые базы данных. VARCHAR
это более короткий псевдоним, который также поддерживают все современные базы данных. я предпочитаюVARCHAR
потому что оно короче, а более длинное имя кажется педантичным. Однако такие инструменты postgres, какpg_dump
а также \d
выведет character varying
.
Единственное отличие состоит в том, что CHARACTER VARYING более дружелюбен, чем VARCHAR.
И то, и другое - одно и то же, но многие базы данных не предоставляют переменные символы, которые в основном предоставляет postgreSQL. Так что для нескольких баз данных, таких как Oracle Postgre и DB2, хорошо использовать Varchar