插入固定长度的输入

时间:2013-05-28 17:39:29

标签: mysql

如何在一个等于设定字符数的表中创建一个整数的长度,不多也不少。有没有办法呢?

我尝试了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),
);

谢谢:)

1 个答案:

答案 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, '-')));

虽然您也可以通过编程方式执行此操作。

无论如何,请告诉我这是否是您正在寻找的。