You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access SQL创建表正确语法及数据类型等价关系咨询

Access SQL创建表的语法与数据类型等价问题解析

嘿,我来帮你理清这个问题——你踩的坑其实是Access SQL(Jet/ACE引擎)和标准ODBC SQL之间的语法差异导致的,很多刚接触Access SQL的开发者都会遇到这个问题。下面一步步给你拆解:

一、你的示例代码修正:正确的Access SQL写法

你尝试的NUMBER(4)、DECIMAL(6,2)、DOUBLE(4,2)写法在Access默认的ANSI-89 SQL模式下不生效,因为Access的Jet SQL不支持这种带精度参数的类型声明。这里给你修正后的代码:

CREATE TABLE NONGAME ( 
    ITEM_NUM CHAR(4) NOT NULL PRIMARY KEY, 
    DESCRIPTION CHAR(30), 
    ON_HAND INTEGER, -- 对应你要的4位整数需求:INTEGER是Access短整数,范围-32768到32767,完全覆盖4位正负整数
    CATEGORY CHAR(3), 
    PRICE CURRENCY, -- 固定两位小数的金额推荐用CURRENCY,这是Access专门为货币设计的高精度类型
    ANYTHING DOUBLE -- DOUBLE在Access里不需要加精度参数,本身就是双精度浮点数
);

如果你一定要用DECIMAL类型(比如需要自定义精度和小数位数),得先切换到Access的ANSI-92 SQL模式(更贴近标准SQL),切换后就可以用DECIMAL(6,2)这种标准写法了。切换路径:文件 > 选项 > 对象设计器 > 查询设计 > 勾选“SQL Server兼容语法(ANSI 92)”。

二、Access表、CREATE TABLE查询与ODBC SQL的数据类型等价关系

整理成清晰的对应列表,方便你对照:

  • 文本类型
    • Access表字段类型:文本
    • Access SQL(ANSI-89):CHAR(n)、TEXT(n)
    • Access SQL(ANSI-92):CHAR(n)、VARCHAR(n)
    • ODBC SQL:SQL_CHAR、SQL_VARCHAR
  • 整数类型
    • Access表字段类型:字节/整数/长整数
    • Access SQL:BYTE(0-255)、INTEGER(-3276832767)、`LONG`(-2^312^31-1)
    • ODBC SQL:SQL_TINYINT、SQL_SMALLINT、SQL_INTEGER
  • 小数/数值类型
    • Access表字段类型:数字(字段大小设为小数)/货币
    • Access SQL(ANSI-89):CURRENCY、DECIMAL(无参数)
    • Access SQL(ANSI-92):DECIMAL(p,s)、NUMERIC(p,s)
    • ODBC SQL:SQL_DECIMAL、SQL_NUMERIC、SQL_CURRENCY
  • 浮点类型
    • Access表字段类型:数字(字段大小设为单精度/双精度)
    • Access SQL:SINGLE、DOUBLE
    • ODBC SQL:SQL_REAL、SQL_DOUBLE
  • 日期时间类型
    • Access表字段类型:日期/时间
    • Access SQL:DATE、DATETIME
    • ODBC SQL:SQL_TIMESTAMP

三、额外技巧:实现字段的数值范围限制

如果你的需求是严格限制ON_HAND为4位正整数(比如0~9999),仅靠字段类型不够,还可以添加验证规则,在CREATE TABLE里这样写:

CREATE TABLE NONGAME ( 
    ITEM_NUM CHAR(4) NOT NULL PRIMARY KEY, 
    DESCRIPTION CHAR(30), 
    ON_HAND INTEGER CONSTRAINT CK_ON_HAND CHECK (ON_HAND BETWEEN 0 AND 9999),
    CATEGORY CHAR(3), 
    PRICE CURRENCY,
    ANYTHING DOUBLE
);

这样插入超出范围的数值时,Access会直接报错拦截。

内容的提问来源于stack exchange,提问作者Daniel Miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:59:43