SQL Server 2008 varchar 和 char 不起作用

Posted

技术标签:

【中文标题】SQL Server 2008 varchar 和 char 不起作用【英文标题】:SQL Server 2008 varchar and char not working 【发布时间】:2015-10-06 03:54:54 【问题描述】:

我收到一条错误消息,提示 varcharchar 在 SQL Server 中无法识别。但是我在大学使用相同的软件 SQL Server 2008,所以我不想使用不同版本的 SQL Server。无论如何我可以解决这个问题?

主要错误 0x80040E14,次要错误 26302

create table abc 
(
    id int,
    name  varchar(15)
)

错误是:

指定的数据类型无效。 [ 数据类型(如果已知)= varchar ]

【问题讨论】:

如果是 CE 版本,请使用 nvarchar 而不是 varchar。 是的。 nchar 工作。谢谢 【参考方案1】:

SQL Server Compact 不支持varchar(n)。 Here 是支持的类型的完整列表。

以下是您可以使用的类型。

nvarchar(n)
nchar(n)
ntext

因此您可能需要更改为nvarchar(10)nvarchar(5)nchar(1) 等。

【讨论】:

@IhsanIzwer 很高兴这有效.. 请接受答案。 啊,我明白了,您使用的是 SQL Server Compact。【参考方案2】:

真的吗? ,我试过了,我也试过创建临时表,似乎都可以。

    create table abc (id int, name varchar(15))

    create table #tmp (id int, name varchar(15))

http://sqlfiddle.com/#!3/66b44

【讨论】:

这就是问题所在。它适用于大学、VARRCHAR 和 CHAR。但不在这里。 @IhsanIzwer,您使用的是 SQL Server 2008 对吗? ,这似乎对我有用.. 上面我的答案中的 sqlfiddle 示例,你确定你在 SQL Server 2008 中工作吗? @JapzDivino compact 有这个问题。那里不支持 Varchar。 @AmneshGoel ,我明白了。谢谢

以上是关于SQL Server 2008 varchar 和 char 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 2008 中将数据从浮点类型的 Excel 导入 varchar

SQL Server 2008 中的 Varchar 到日期时间

在 SQL Server 2008 R2 中将 varchar 转换为时间戳

在sql server 2008中如何查询本日、本周和本月数据

SQL Server 2008 - 从 Float 将列更改为 Varchar 产生科学记数法

SQL Server 2008 中的 PIVOT SQL 数据