Access SQL 语句创建表总是创建一个满长的字段

Posted

技术标签:

【中文标题】Access SQL 语句创建表总是创建一个满长的字段【英文标题】:Access SQL Statement create tables always creates a field full of length 【发布时间】:2021-04-12 06:22:25 【问题描述】:

我使用 oledbconnection 或立即访问(安装版本 Office 365 MSO 32 位和 ACE 2016 32 位)创建具有以下 SQL 的表:

CREATE TABLE Ticket (
    [ID] COUNTER
    , [Kundennummer] CHAR(15)
    , [DC] CHAR(5)
    , [Auftragsnummer] CHAR(25)
    , [OZ] CHAR(5)
    , [ASS] CHAR(20)
    , [ASB] CHAR(5)
    , [SPATZ] CHAR(19)
    , [Status_num] INTEGER
    , [Status_text] CHAR(255)
    , [Bearbeitet_timestamp] DATE
    , [IMPORT_ZEITSTEMPEL] DATE
    , [RESULT_ZEITSTEMPEL] DATE
    , CONSTRAINT [PrimaryKey] PRIMARY KEY ([ID])
);

使用“create table”创建的表对于所有限制长度的字段始终具有完整的限制长度。

当我在 Access 中或通过 oleDbConnection 添加记录时,每个字段都用空格填充到其全长。

如何编写创建表 SQL 以使表的创建方式只接受实际的字段内容。还是Access中有设置? 使用 Access 创建的表不会显示此行为。

请帮忙, 谢谢

【问题讨论】:

你知道 SQL Server 和 MS Access 没有关系,也不像 MS Access 对吧? 是的,我不知道为什么要创建标签。 【参考方案1】:

VARCHAR 字段用于可变长度的字符字段。

CHAR 是固定长度的,所以总是需要完全填充,如果不是,则用空格填充。虽然 Access 中的 GUI 不支持创建它们,但 Access 可以很好地处理它们,就像大多数 RDBMS 一样。

【讨论】:

以上是关于Access SQL 语句创建表总是创建一个满长的字段的主要内容,如果未能解决你的问题,请参考以下文章

在access利用SQL语句中如何创建表?

ACCESS里如何用SQL语句创建数据库和表

Access sql语句运行时显示无效的sql语句是啥原因

sql 语句

请问,在ACCESS中如何创建触发器?

MS Access中的简单SQL语句[重复]