John usa CHARACTER VARYING
nei luoghi in cui uso io VARCHAR
. Sono un principiante, mentre lui è un esperto. Questo mi suggerisce che c'è qualcosa che non conosco.
Qual è la differenza tra CHARACTER VARYING e VARCHAR in PostgreSQL?
John usa CHARACTER VARYING
nei luoghi in cui uso io VARCHAR
. Sono un principiante, mentre lui è un esperto. Questo mi suggerisce che c'è qualcosa che non conosco.
Qual è la differenza tra CHARACTER VARYING e VARCHAR in PostgreSQL?
Risposte:
Varying è un alias per varchar, quindi nessuna differenza, vedere la documentazione :)
Le notazioni varchar (n) e char (n) sono alias rispettivamente per carattere variabile (n) e carattere (n). il carattere senza specificatore di lunghezza è equivalente al carattere (1). Se viene utilizzata la variazione del carattere senza specificatore di lunghezza, il tipo accetta stringhe di qualsiasi dimensione. Quest'ultima è un'estensione PostgreSQL.
varchar(n)
, ecc. sono gli standard ANSI e questa sintassi è peculiare di PostgreSQL.
La documentazione di PostgreSQL sui tipi di carattere è un buon riferimento per questo. Sono due nomi diversi per lo stesso tipo.
L'unica differenza è che CHARACTER VARYING è più umano amichevole di VARCHAR
Entrambi sono la stessa cosa ma molti database non forniscono il carattere variabile fornito principalmente da postgreSQL. Quindi per il multi database come Oracle Postgre e DB2 è bene usare Varchar
La risposta breve: non c'è differenza.
La risposta lunga: CHARACTER VARYING
è il nome del tipo ufficiale dallo standard ANSI SQL, che tutti i database conformi devono supportare. VARCHAR
è un alias più breve supportato anche da tutti i database moderni. Preferisco VARCHAR
perché è più breve e perché il nome più lungo sembra pedante. Tuttavia, gli strumenti postgres apprezzano pg_dump
e \d
verranno visualizzati character varying
.