我们有不同长度的字段,并希望用空格将它们右填充到模式中定义的字段长度。
以下语句有效:
SELECT RPAD(field, LENGTH(field), ' ') AS field FROM schema.table;
这会产生带有 SQLState 42703 的 SQL 错误 206:在使用它的上下文中无效。
// Our application resolves the prepared statement's ? - this is working fine
INSERT INTO schema.table (field) VALUES (RPAD(?, LENGTH(field), ' '));
同样的情况发生在:
INSERT INTO schema.table (field) VALUES (RPAD(?, LENGTH(schema.table.field), ' '));
是否有可能避免对字段长度进行硬编码?