John usa CHARACTER VARYING
en los lugares donde yo uso VARCHAR
. Yo soy un principiante, mientras que él es un experto. Esto me sugiere que hay algo que no sé.
¿Cuál es la diferencia entre CHARACTER VARYING y VARCHAR en PostgreSQL?
John usa CHARACTER VARYING
en los lugares donde yo uso VARCHAR
. Yo soy un principiante, mientras que él es un experto. Esto me sugiere que hay algo que no sé.
¿Cuál es la diferencia entre CHARACTER VARYING y VARCHAR en PostgreSQL?
Respuestas:
Varchar es un alias para varchar, por lo que no hay diferencia, consulte la documentación :)
Las notaciones varchar (n) y char (n) son alias para caracteres que varían (n) y carácter (n), respectivamente. carácter sin especificador de longitud es equivalente al carácter (1). Si se usa la variación de caracteres sin un especificador de longitud, el tipo acepta cadenas de cualquier tamaño. Este último es una extensión de PostgreSQL.
varchar(n)
, etc., son los estándares ANSI y esta sintaxis es peculiar de PostgreSQL.
La documentación de PostgreSQL sobre tipos de caracteres es una buena referencia para esto. Son dos nombres diferentes para el mismo tipo.
La única diferencia es que CHARACTER VARYING es más amigable para los humanos que VARCHAR
Ambos son lo mismo, pero muchas de las bases de datos no proporcionan los caracteres variables que proporciona principalmente postgreSQL. Entonces, para la base de datos múltiple como Oracle Postgre y DB2, es bueno usar Varchar
La respuesta corta: no hay diferencia.
La respuesta larga: CHARACTER VARYING
es el nombre de tipo oficial del estándar ANSI SQL, que deben admitir todas las bases de datos compatibles. VARCHAR
es un alias más corto que también admiten todas las bases de datos modernas. Prefiero VARCHAR
porque es más corto y porque el nombre más largo se siente pedante. Sin embargo, a las herramientas de Postgres les gusta pg_dump
y \d
generarán character varying
.