У меня есть запрос к следующему вводу и результатам.
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
, я не могу sh использовать условие IF
для проверки длины. Я ищу альтернативу LPAD, где более высокие значения длины не должны быть урезаны. или пользовательская агрегатная функция.