2012-03-28 23 views
2

この単純なSQLでエラーが発生しましたが、エラーが見つからない場合は、ヘルプが表示されます。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 Serverの二重表記は何ですか?](http://stackoverflow.com/questions/1209181/what-represents-a-double-in-sql-server) –

答えて

8

ダブルSQL Serverのデータ型ではありません。

これは、すべてのデータタイプの完全なリストです(MSDNを参照)。

FLOATまたはDECIMALを使用して問題を解決したいと思うかもしれませんが、私はあなたがやっていること(生産者または消費者)の残りの部分については何も知らないので、問題を解決するデータ型を選択します。

+0

これはうまくいきました。 DOUBLEをデータ型として使用するMySQLと同じ構文です。 – user1279144

+0

これがあなたの質問に答える場合は、これを受け入れられた回答としてマークしてください。 – deutschZuid

6

問題を解決するためにDOUBLEをFLOATに変更してください。

3

使用進(9,2)、または、必要な精度ではなく、DOUBLE

1

あなたは、単にそれがサポートされているデータ・タイプではありませんよう、DOUBLEを除去するために必要。あなたはそれが簡単にこのようなバグをトラブルシューティングするために見つけることができます

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); 

:私はまたのようなやり方を読み取るために、より簡単にあなたのクエリを整理reccomendだろう。

関連する問題