2009-09-18 22 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