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.

Jawaban:


268

Coba gunakan ||di tempat+

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

Dari dokumentasi SQLite :

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


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;

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 +  

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 .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.