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


114

John 은 CHARACTER 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.