2009-09-18 15 views
16

ben açıklama sütunu 'elma desc' ve 'portakal desc' yani satır güncellemek için aşağıdaki ifadeyi geçmesine çalışıyorum Bu verilerinDize birleştirme için SQLite Güncelleştirme Sözdizimi?

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

içeren bir tablo var ama çalışmıyor.

Dizeleri birleştirmek için uygun sözdizimi nedir?

cevap

47

SQLite en string concatenation operator değil "+"

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

+ dize Ulama için standart bir SQL sözdizimi değil, "||" dir. –

+8

Dize birleştirme için standart bir SQL sözdizimi var mı? Her DB farklı bir tane kullanıyor gibi görünüyor. MySQL Kullanımları Concat() işlevi, SQL Lite kullanarak ||, SQL Server Kullanımları +. Kesinlikle standartlaştırılması gereken bir şey. – Kibbee

+1

Evet, standart bir SQL sözdizimi var. [SQL-92 standardında '||', [kabul edildi] (https://books.google.com/books?id=6jqZExL6UGcC&pg=PA106&dq=concatenation+infixed+operator&hl=tr&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 + nokta% 22). Sadece SQL Server ve MySQL standartlara uymayı seçmedi. Her ne kadar MySQL ['PIPES_AS_CONCAT'] ayarlanarak kotaya alınabilse de (http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pipes_as_concat) –

İlgili konular