英文:
Prevent extra space being inserted into a CHAR field?
问题
我使用以下脚本在MS Access中创建表格:
CREATE TABLE POWERSQL (
ProposalNumber INTEGER PRIMARY KEY,
FirstName CHAR (15),
LastName CHAR (20),
Address CHAR (30),
City CHAR (25),
StateProvince CHAR (2),
PostalCode CHAR (10),
Country CHAR (30),
Phone CHAR (14),
HowKnown CHAR (30),
Proposal CHAR (50),
BusinessOrCharity CHAR (1) );
当向一个CHAR字段(如[FirstName])插入比设置长度短的值,例如'John',它会用空格填充剩余的字符,这会影响其他查询和连接。Trim函数无法解决。有什么建议吗?非常感谢。
英文:
I create a table in MS Access using the following script:
CREATE TABLE POWERSQL (
ProposalNumber INTEGER PRIMARY KEY,
FirstName CHAR (15),
LastName CHAR (20),
Address CHAR (30),
City CHAR (25),
StateProvince CHAR (2),
PostalCode CHAR (10),
Country CHAR (30),
Phone CHAR (14),
HowKnown CHAR (30),
Proposal CHAR (50),
BusinessOrCharity CHAR (1) );
When insert some value to a CHAR filed which is shorter than the set length, e.g., 'John' in [FirstName], it fills the remaining characters with empty space which messes up with other queries and joins. Trim does not help. Any advice? Many thanks.
答案1
得分: 3
CHAR
字段在MS Access中是半支持的,且具有固定长度。这意味着您不能插入少于完整字段长度的字符,如果这样做,Access将用空格填充未使用的位置。
相反,对于可变长度字符字段,请使用VARCHAR
:
CREATE TABLE POWERSQL (
ProposalNumber INTEGER PRIMARY KEY,
FirstName VARCHAR (15),
etc...
英文:
CHAR
fields are half-supported in MS Access and are fixed-length. This means you can't insert less characters than the full field length, and if you do, Access will fill the unused positions with spaces.
Instead, use VARCHAR
for variable-length character fields:
CREATE TABLE POWERSQL (
ProposalNumber INTEGER PRIMARY KEY,
FirstName VARCHAR (15),
etc...
答案2
得分: 0
Use TEXT
数据类型代替固定长度的 CHAR(x)
数据类型,如下所示:
FirstName TEXT,
..................
TEXT
数据类型是可变长度的,可存储最多 255 个字符。
英文:
Instead of the fixed length CHAR(x)
data type, use TEXT
, like:
FirstName TEXT,
.................
The TEXT
data type is variable length and can store up to 255 characters
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论