使用concat并保持变量的长度

时间:2012-10-04 03:18:02

标签: mysql concat variable-length

我正在尝试在一些变量上使用concat。这些变量已声明为chars:

declare v_order_date char(10);
declare v_quantity char(11);
declare v_plant char(100);

我有一个光标,我将其设置为某些输出。要调用结果,我将v_msg设置为

set v_msg := concat( v_msg, '\n', v_order_date, v_quantity, v_plant);

但是,当我选择v_msg时,我得到的结果是:

2012-01-222501008 Creeping Buttercup

但是我想在我的select中保持声明变量的长度,看起来像这个

2012-01-22  250    1008    Creeping Buttercup

有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:0)

使用MySQL repeat()char_length()

set v_msg := concat(v_msg, '\n', v_order_date, repeat(' ', 10-char_length(v_order_date)), '\n',  v_quantity, repeat(' ', 11-char_length(v_quantity)), '\n' , v_plant);