如何在一个等于设定字符数的表中创建一个整数的长度,不多也不少。有没有办法呢?
我尝试了CHECK语法但是没有用。
CREATE TABLE manufacturer(
mid CHAR(4) <-- How would i make the input here exactly 4 when using the INSERT statement.
company_name VARCHAR(20),
);
谢谢:)
答案 0 :(得分:2)
如果我理解得很好,您希望列的长度始终相同。如果是这种情况,请检查此代码:
SELECT RPAD(SUBSTR('this is a very long text' FROM 1 FOR 10), 10, '-'),
RPAD(SUBSTR('short' FROM 1 FOR 10), 10, '-');
如果您的文字超过10个字符,那么它将被裁剪。 如果你的文字短于10个字符,那么' - '将被添加到字符串的末尾,使其长10个字符。
在你的情况下会匹配:
INSERT INTO your_table (your_column) VALUES (RPAD(SUBSTR('your_text', FROM 1 TO 4), 4, '-')));
虽然您也可以通过编程方式执行此操作。
无论如何,请告诉我这是否是您正在寻找的。 p>