我不能确定什么是错的,当我宣布在SQL这些变量(I'm unsure what's

2019-09-17 19:21发布

我有以下代码:

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的知识是初学者最好,所以大部分我看过其他线程都在我头顶一点点。

在此先感谢您的帮助。

Answer 1:

DOUBLE是不是在SQL Server中的数据类型有效

使用float,数字,......或任何受支持的其他类型的。

在更多信息http://msdn.microsoft.com/en-us/library/ms187752.aspx



Answer 2:

有两个问题。 首先是没有的双数据类型。 第二个是,浮子将大小,以指示精度的差异。 等效创建查询上面的一个是:

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


Answer 3:

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


文章来源: I'm unsure what's wrong when I declare these variables in SQL