2009-09-18 82 views
16

我有一个表,这个数据用于字符串连接的SQLite更新语法?

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

我想通过下面的语句,以便说明栏是“苹果的递减”和“橙色递减”更新的行,但它不工作。

连接字符串的正确语法是什么?

回答

47

的SQLite的string concatenation operator是 “||”,而不是 “+

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

+不是字符串连接标准的SQL语法。 – 2009-09-18 18:32:22

+8

是否有字符串连接的标准SQL语法?似乎每个数据库都使用不同的数据库。 MySQL使用Concat()函数,使用||的SQL Lite,SQL Server使用+。绝对是应该标准化的东西。 – Kibbee 2009-09-18 18:45:11

+1

是的,有一个标准的SQL语法。在[SQL-92标准]中是[||],[已采纳](https://books.google.com/books?id=6jqZExL6UGcC&pg=PA106&dq=concatenation+infixed+operator&hl=zh-CN&sa=X#v=onepage) 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 +周期%22)。 只是SQL Server和MySQL选择不符合标准。尽管可以通过设置['PIPES_AS_CONCAT'](http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pipes_as_concat)来哄骗MySQL, – 2016-03-06 04:15:57