CREATE TABLE MS Access SQL Скрипт - PullRequest
0 голосов
/ 06 января 2020

Я создаю таблицу в 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], он заполняет оставшиеся символы пустым пространством, которое путается с другими запросами и объединениями. Отделка салона не помогает. Любой совет? Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 06 января 2020
Поля

CHAR поддерживаются наполовину в MS Access и имеют фиксированную длину. Это означает, что вы не можете вставить меньше символов, чем полная длина поля, и если вы это сделаете, Access заполнит неиспользуемые позиции пробелами.

Вместо этого используйте VARCHAR для символьных полей переменной длины:

CREATE TABLE POWERSQL (
 ProposalNumber  INTEGER  PRIMARY KEY,
 FirstName   VARCHAR (15),
 etc...
0 голосов
/ 06 января 2020

Вместо фиксированной длины CHAR(x) тип данных, используйте TEXT, например:

FirstName   TEXT,
.................

Тип данных TEXT имеет переменную длину и может хранить до 255 символов

...