是否缺少SQL Server 2005 bigint?

ztigrdn8  于 2022-11-21  发布在  SQL Server
关注(0)|答案(3)|浏览(206)

我试图将一个列设置为64位整数,但我唯一可用的选项是tinyint、smallint和int。bigint跑到哪里去了?
注意:我使用Access 2008访问我的SQL Server。

zed5wv10

zed5wv101#

SQL Server没有问题。在SQL Server 2005中,您可以将列声明为bigint,如下所示:

Create Table Table( Col1 bigint )

问题是MS Access无法将bigint识别为数据类型。
这里有一个关于这个问题的article,它讨论了使用ADO时的一些变通办法。这里有一个来自Microsoft的help article,它指出Access仍然不能识别bigint(请参阅 * Access数据库和Access项目之间数据类型的比较或Map * 一节)。

3vpjnl9f

3vpjnl9f2#

Access 2007没有bigint数据类型,这就是为什么您没有将其视为可用选项的原因。
如果需要这么大的整数,可以将其存储为CURRENCY类型(SQL Server中为MONEY),然后乘以或除以10000来执行转换。

myCurrency = myBigInt / 10000

myBigInt = myCurrency * 10000
carvr3hs

carvr3hs3#

Here's a table正在将Access数据类型与其ODBC等效项进行比较。此处没有bigint
这里有一篇名为Handling the SQL Server bigint data type in Access 2007 using ADO的文章,它提供了两种处理方法:将bigint转换为varchar或变量。当然,这些会让你感到恶心,但听起来它们可能会解决你的问题。

相关问题