Penggabungan string tidak berfungsi di SQLite

138

Saya mencoba menjalankan fungsi ganti SQlite, tetapi menggunakan bidang lain dalam fungsi tersebut.

select  locationname + '<p>' from location;

Dalam cuplikan ini, hasilnya adalah daftar 0. Saya mengharapkan string dengan teks dari nama lokasi dan '<p>'literal.

Ian Vink
sumber

Jawaban:

268

Coba gunakan ||di tempat+

select  locationname || '<p>' from location;

Dari dokumentasi SQLite :

Itu || operator adalah "concatenate" - ini menggabungkan dua string operannya.

codaddict
sumber
28
bidang1 || field2 mengembalikan null jika salah satu field adalah null. Seseorang mungkin ingin melakukan ifnull (field1, '') || ifnull (field2, ''). Itu akan memberi Anda respons jika satu atau kedua bidang kosong. Kemudian Anda bisa mencari tahu apa yang ingin Anda lakukan jika keduanya nol.
Tom Cerul
6
@TomCerul atau gunakanCOALESCE(nullable_field, '') || COALESCE(another_nullable_field, '')
zx8754
40

The ||operator adalah gabungan di SQLite. Gunakan kode ini:

select  locationname || '<p>' from location;
shamittomar.dll
sumber
11
Pipa ganda juga merupakan metode ANSI untuk menggabungkan string, didukung pada Oracle & PostgreSQL juga ...
OMG Ponies
35

Untuk perbandingan,

SQLite ||  
Oracle CONCAT (string1, string2) atau ||
MySQL CONCAT (string1, string2, string3 ...) atau || jika PIPES_AS_CONCAT diaktifkan
Postgres CONCAT (string1, string2, string3 ...) atau ||
Microsoft SQL Server 2012+ CONCAT (string1, string2, string3 ...) atau + 
Microsoft Access +  
Brian Burns
sumber
1
Mulai tahun 2012, SQL Server juga mendukungCONCAT(string1, string2, string3...)
Tim Cooke
1
MySQL juga mendukung ||jika PIPES_AS_CONCATmode diaktifkan.
Paul Spiegel
2

untuk Visual Studio 2010, menggunakan desainer atau wizard Sumber Data, Anda kesulitan menggunakan || operator. Buat tampilan di sqlite db dan buat sumber data Anda dari situ.

Lihat juga utas ini .

menggambar cepat
sumber