2012-10-04 5 views
1

일부 변수에서 concat을 사용하려고합니다. 이러한 변수는 문자로 선언되었습니다.concat을 사용하고 변수 길이를 유지하십시오.

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

커서가있어 일부 출력으로 설정됩니다. 결과를 호출하려면, 내가 그러나

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

로 v_msg 설정하고, 나는 점점 오전 그 결과는 내가 v_msg가 선택할 때 :

2012-01-222501008 Creeping Buttercup 

하지만 난에 선언 된 변수의 길이를 유지하려는 내 선택하면

2012-01-22 250 1008 Creeping Buttercup 

추천 사항이 있습니까? 고맙습니다.

+0

어떤 종류의에 대한 최대 열 길이를 혼동하지 마십시오 "가변 길이." 연결하기 전에 각 값을 최대 열 길이에 채워야합니다. 'printf'를 사용하는 언어에서는 "간단한"형식 지정자로 이것을 할 수 있습니다; SQL로이를 수행하는 관용적 인 방법이 확실하지 않습니다. –

답변

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); 
관련 문제