我需要使用以下输入和结果进行查询。
MariaDB [db]> select LPAD('COMP1', 8, 'X');
+-----------------------+
| LPAD('COMP1', 8, 'X') |
+-----------------------+
| XXXCOMP1 |
+-----------------------+
在上面的示例中,您可以看到,输入“COMP1”的长度为 5,因此 LPAD 以 3 个额外的 PADDED 字符串为前缀。现在,如果输入的长度高于限制 8。它必须按原样生成,而不修剪内容。
MariaDB [db]> select LPAD('COMP1', 8, 'X');
+-----------------------+
| LPAD('COMP10199', 8, 'X') |
+-----------------------+
| COMP1019 |
+-----------------------+
它在这里被修剪,因为我的要求中的预期值为COMP10199
,我不想IF
在这里使用条件来检查长度。我正在寻找 LPAD 的替代品,其中不应修剪较高的长度值。或用户定义的聚合函数。