2009-09-18 5 views
16

Tengo una tabla con estos datosSQLite Update Sintaxis para la concatenación de cadenas?

id , name , description 
1 , apple , '' 
2 , orange , '' 

que estoy tratando de pasar a la siguiente instrucción para actualizar la fila para la columna de la descripción es 'la descripción de la manzana' y 'la descripción de la naranja', pero no está funcionando.

¿Cuál es la sintaxis correcta para concatenar cadenas?

Respuesta

47

SQLite de string concatenation operator es "||", no "+"

UPDATE TestTable SET description = 'desc of ' || name; 
+0

+ no es la sintaxis SQL estándar para la concatenación de cadenas. –

+8

¿Hay una sintaxis SQL estándar para la concatenación de cadenas? Parece que cada DB usa uno diferente. MySQL usa la función Concat(), SQL Lite usa ||, SQL Server usa +. Definitivamente algo que debería ser estandarizado. – Kibbee

+1

Sí, hay una sintaxis SQL estándar. Es '||', [adoptado] (https://books.google.com/books?id=6jqZExL6UGcC&pg=PA106&dq=concatenation+infixed+operator&hl=en&sa=X#v=onepage) en el [SQL-92 estándar ISO/IEC 9075: 1992] (https://www.google.com/search?sclient=psy-ab&biw=1920&bih=979&q=%22concatenation+operator%22+ISO%2FIEC+9075:1992+X3H2-92-154 +% 22double + period% 22). Es solo que SQL Server y MySQL eligieron no cumplir con el estándar. Aunque MySQL se puede convencer estableciendo ['PIPES_AS_CONCAT'] (http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pipes_as_concat) –

Cuestiones relacionadas