9

次のコードがあります。

USE pricingdb
go

CREATE TABLE dbo.Events_060107_2012
(
    Date_Time varchar(20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    Event_Type TEXT,
    Month_of_Year TEXT,
    Survey DOUBLE,
    Actual DOUBLE,
    Prior_Data DOUBLE,
    Revised DOUBLE,
    Relevance FLOAT,
    Ticker TEXT
);  

行け

そして、私はエラーが発生しています:

"Incorrect syntax near ','.  Level 15, State 1, Line 6"

これは非常に簡単に修正できる問題であることは承知していますが、何らかの理由で、これを修正する方法を理解するのに苦労しています。SQL に関する私の知識はせいぜい初心者なので、私が読んだ他のスレッドのほとんどは私の頭の少し上にありました。

助けてくれてありがとう。

4

3 に答える 3

19

DOUBLE は SQL サーバーで有効なデータ型ではありません

float、numeric、...、またはサポートされているその他の型を使用します。

詳細については、http://msdn.microsoft.com/en-us/library/ms187752.aspxを参照してください。

于 2012-06-05T19:03:51.240 に答える
1

2 つの問題。1 つ目は、double のデータ型がないことです。2 つ目は、float が精度の違いを示すためにサイズを取ることです。上記のものと同等の作成クエリは次のとおりです。

CREATE TABLE dbo.Events_060107_2012
(
    Date_Time varchar(20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    Event_Type TEXT,
    Month_of_Year TEXT,
    Survey FLOAT(53),
    Actual FLOAT(53),
    Prior_Data FLOAT(53),
    Revised FLOAT(53),
    Relevance FLOAT(24),
    Ticker TEXT
);
于 2012-06-05T19:12:07.733 に答える
0

double (または decimal) の代わりに float を使用する

USE pricingdb
go

CREATE TABLE dbo.Events_060107_2012
(
Date_Time varchar(20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Event_Type TEXT,
Month_of_Year TEXT,
Survey FLOAT,
Actual FLOAT,
Prior_Data FLOAT,
Revised FLOAT,
Relevance FLOAT,
Ticker TEXT
); 
于 2012-06-05T19:07:30.553 に答える