2012-03-28 2 views
2

이 간단한 SQL에서 anoying 오류가 발생하며 오류를 발견 할 수 없으므로 도움이 필요합니다.SQL Server Express - ','근처에 잘못된 구문이 있습니다.

CREATE TABLE alertitem 
    ([id] INT, 
    [dateposted] DATETIME, 
    [daterevised] DATETIME, 
    [datestart] DATETIME, 
    [dateexpires] DATETIME, 
    [userid] INT, 
    [title] VARCHAR(MAX), 
    [details] VARCHAR(MAX), 
    [lat] DOUBLE, 
    [lon] DOUBLE, 
    [radius] INT, 
    [imageid] INT); 
+1

[SQL 서버에서 이중을 나타내는 것은 무엇입니까?] (http://stackoverflow.com/questions/1209181/what-represents-a-double-in-sql-server) –

답변

8

Double은 SQL Server 데이터 형식이 아닙니다.

이것은 모든 데이터 유형의 전체 목록이어야합니다 (MSDN 참조).

문제를 해결하기 위해 FLOAT 또는 DECIMAL을 사용하고 싶지만 나머지 (제작자 또는 소비자)에 대해서는 알지 못하므로 알려 드리겠습니다. 문제를 해결할 데이터 유형을 선택하십시오.

+0

감사합니다. DOUBLE을 데이터 유형으로 사용하는 MySQL과 동일한 구문. – user1279144

+0

귀하의 질문에 대한 답변이 있으면 대답을 수락으로 표시하십시오. – deutschZuid

6

문제를 해결하려면 DOUBLE을 FLOAT로 변경하십시오.

3

사용 소수 (9,2) 또는 당신은 단순히 지원되는 데이터 형식이 아니다으로, DOUBLE을 제거하는 데 필요한 오히려 DOUBLE

1

이상 필요 정밀도. 당신은 쉽게 이런 식으로 버그를 해결하기 위해 찾을 수 있습니다

CREATE TABLE alertitem (
    [id] INT, 
    [dateposted] DATETIME, 
    [daterevised] DATETIME, 
    [datestart] DATETIME, 
    [dateexpires] DATETIME, 
    [userid] INT, 
    [title] VARCHAR(MAX), 
    [details] VARCHAR(MAX), 
    [lat] FLOAT, 
    [lon] FLOAT, 
    [radius] INT, 
    [imageid] INT); 

: 나는 또한 같은 방식을 읽기 위해 더 쉬운 쿼리를 구성 권하고 싶습니다.

관련 문제