2012-07-09 16 views

risposta

14

Non c'è alcuna differenza funzionale.

|| è l'operatore di concatenazione di stringhe standard ANSI (sebbene, sfortunatamente, non tutti i database <cough>SQL Server</cough> scelgano di supportare lo standard). Molti database supportano una funzione CONCAT, quindi potrebbe essere più semplice effettuare il porting del codice utilizzando CONCAT in diversi database.

+0

Conosco solo due DBMS non conformi allo standard SQL: SQL Server e MySQL. E MySQL può almeno essere configurato per accettare '||' come operatore di concatenazione. –

+3

+1 per i tag da soli :-) – DCookie

+0

Oh come su SQL server ha un operatore equivalente '+' che è proprio come [il supporto parziale di Oracle per le funzioni standard ANSI] (http://docs.oracle.com/cd/ Funzioni B19306_01/server.102/b14200/ap_standard_sql003.htm # sthref10080) CHARACTER_LENGTH, OCTET_LENGTH, SUBSTRING o POSITION. –

1

La funzione 'concat' può essere utilizzata solo su 2 variabili o colonne, mentre l'operazione 'concat' può essere eseguita per qualsiasi numero di variabili o colonne.

+2

Su Oracle, [questo è vero] (http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions026.htm). – NReilingh

+2

CONCAT prenderà tutti gli input che vuoi in MySql. –

Problemi correlati