SQLite에서 문자열 연결이 작동하지 않습니다


136

SQlite 바꾸기 기능을 실행하려고하지만 함수에서 다른 필드를 사용하십시오.

select  locationname + '<p>' from location;

이 코드 조각에서 결과는 0의 목록입니다. locationname 및 '<p>'리터럴 의 텍스트가 포함 된 문자열을 예상했을 것 입니다.

답변:


266

||대신에 사용해보십시오+

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

에서 SQLite는 문서 :

|| 연산자는 "연결"입니다-피연산자의 두 문자열을 결합합니다.


26
field1 || 필드 중 하나가 널인 경우 field2는 널을 리턴합니다. ifnull (field1, '') || ifnull (field2, '')을 원할 수도 있습니다. 하나 또는 두 필드가 모두 null 인 경우 응답을 제공합니다. 그런 다음 둘 다 null 인 경우 수행하려는 작업을 파악합니다.
Tom Cerul

5
@TomCerul 또는 사용COALESCE(nullable_field, '') || COALESCE(another_nullable_field, '')
zx8754

38

||연산자 SQLite는에 연결된다. 이 코드를 사용하십시오 :

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

11
이중 파이프 ... 너무 오라클 & PostgreSQL의 지원도 합치 문자열의 ANSI 방법입니다
OMG 조랑말

32

비교하려고,

SQLite ||  
Oracle CONCAT (string1, string2) 또는 ||
MySQL CONCAT (string1, string2, string3 ...) 또는 || PIPES_AS_CONCAT가 활성화 된 경우
Postgres CONCAT (string1, string2, string3 ...) 또는 ||
Microsoft SQL Server 2012+ CONCAT (string1, string2, string3 ...) 또는 + 
Microsoft Access +  

1
2012 년부터 SQL Server는 다음을 지원합니다.CONCAT(string1, string2, string3...)
Tim Cooke

1
MySQL은 또한 지원 ||PIPES_AS_CONCAT 모드가 활성화되어 합니다 .
Paul Spiegel

2

Visual Studio 2010의 경우 데이터 소스 디자이너 또는 마법사를 사용하면 || 운영자. sqlite db에 뷰를 생성하고 그로부터 데이터 소스를 생성하십시오.

이 스레드 도 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.