PostgreSQL에서 CHARACTER VARYING과 VARCHAR의 차이점은 무엇입니까?


114

JohnCHARACTER VARYING내가 사용하는 곳에서 사용 VARCHAR합니다. 나는 초보자이지만 그는 전문가입니다. 이것은 내가 모르는 것이 있다는 것을 암시합니다.

PostgreSQL에서 CHARACTER VARYING과 VARCHAR의 차이점은 무엇입니까?

답변:


128

Varying은 varchar의 별칭이므로 차이가 없습니다. 문서 참조 :)

표기법 varchar (n) 및 char (n)은 각각 문자 varying (n) 및 character (n)의 별칭입니다. 길이 지정자가없는 문자는 character (1)과 같습니다. 길이 지정자없이 문자 가변이 사용되는 경우 유형은 모든 크기의 문자열을 허용합니다. 후자는 PostgreSQL 확장입니다.


9
그 반대입니다. varchar는 가변의 별칭입니다. 현학적이지는 않지만 견적서에 있습니다.
zerzevul

2
@zerzevul varchar(n), 등이 ANSI 표준 이고이 구문이 PostgreSQL에 고유 하다는 점을 감안할 때 문서에 동의하지 않고 Charles와 동의 할 수 있습니다 .
BobRodes


4

유일한 차이점은 CHARACTER VARYING이 VARCHAR보다 인간 친화적이라는 것입니다.


1
@joop 저는 COBOL에 노출되는 특권이 없었지만 영어에 노출되어 "VARCH ARe what?"이라고 생각합니다. :-)
inor

8
옆에 나는 그것이 최고의 프로그래머들을 혼란스럽게한다고 생각합니다;) 그들은 varchar
manocha_ak

3

둘 다 동일하지만 많은 데이터베이스가 주로 postgreSQL이 제공하는 다양한 문자를 제공하지 않습니다. 따라서 Oracle Postgre 및 DB2와 같은 다중 데이터베이스의 경우 Varchar를 사용하는 것이 좋습니다.


2

짧은 대답 : 차이가 없습니다.

긴 대답 CHARACTER VARYING은 ANSI SQL 표준의 공식 유형 이름이며 모든 호환 데이터베이스는 지원해야합니다. VARCHAR모든 최신 데이터베이스도 지원하는 더 짧은 별칭입니다. VARCHAR더 짧고 긴 이름이 현학적 인 느낌이 들기 때문에 선호합니다 . 그러나 포스트 그레스 도구를 좋아 pg_dump하고 \d출력됩니다 character varying.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.