2012-08-09 5 views
1

SQL Server Compact Edition을 사용하고 있습니다.SQL Server Compact Edition에서 문자열 병합을 사용하는이 쿼리가 오류를 발생시키는 이유는 무엇입니까?

CREATE TABLE people (
    ident NCHAR(7) NOT NULL UNIQUE, 
    first_name NVARCHAR(100) NOT NULL, 
    last_name NVARCHAR(100) NOT NULL, 
    notes NVARCHAR(4000) NULL, 
    birth_year SMALLINT NULL, 
    birth_location NVARCHAR(200) NULL, 
    amount SMALLINT NULL, 
    location NCHAR(6) NOT NULL, 
    title_date INT NOT NULL, 
    num INT NOT NULL UNIQUE, 
    PRIMARY KEY (ident) 
); 

간단한 삽입 문 : 나는 간단한 테이블이

INSERT INTO people (ident, first_name, last_name, notes, birth_year, birth_location, amount, location, title_date, num) 
VALUES ('t1bbbee', 'Sam', 'Simpson', 'HKiONV6JGxKdd2qs5pQ3GGWlrSPRSfu19cJ6zyEn2qT1WHyv5N', 2007, 'N6fCeYVqJcjDov9DDmLfkpYtGs0WV4QeSVRaKm659lw52W21TX', 1143, 'YcbKbv', 19805274, 7735) 

documentation의 내 독서를 기반으로 간단한 쿼리를 제대로 작동합니다 :

SELECT p.ident + "-" + p.first_name + " " + p.last_name AS "name" 
FROM people AS p 
ORDER BY p.ident 

그러나 Visual Studio 및 SQL Fiddle (SQL Server CE가 아닌 SQL Server를 사용하는 후자)에서 오류가 반환됩니다.

잘못된 열 이름 '-'p.ident +를 선택 .: "-"페이지 순서와 사람들의 이름 "+ p.first_name +" "AS + p.last_name을"p.ident에 의해

무엇이 문제입니까?

답변

4

대신 작은 따옴표의 큰 따옴표를 사용하고 있습니다 :

SELECT p.ident + '-' + p.first_name + ' ' + p.last_name name 
FROM people AS p 
ORDER BY p.ident 

SQL Fiddle

+0

그럼 난 저주받을거야 ... +1를 참조하십시오. 이 얼마나 어리석은 오류. –

+0

예, 우리 모두 해냈습니다. :) – Taryn