由于在工作中遇到这样一个事,要把几十万数据按照集团规范发给集团中心,大概意思就是要把很多个相关的字段拼接成一行,然后换行,这样大概50万左右。
其中
lpad( string, padded_length, [ pad_string ] )
string
准备被填充的字符串;
padded_length
填充之后的
字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;
pad_string
填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。
rpad也一样
下面是我写的SQL
select '40'||rpad(t.bill_id,32,' ')||'04'||'72'||to_char(t.create_date,'yyyymmddhh24miss')||to_char(t.effective_date,'yyyymmddhh24miss')
||'01'||rpad('0',32,' ')||'0'||'0'||' '||rpad('698027',18,' ')||rpad('YDCY',24,' ')||' '
||'88'||' '||CHR(10)||CHR(13)
from fanyy_caiyun t;
这样就直接可以再数据库中完成,不用写代码了!!
4013901042075 04722013011720104120130117201041010 00 698027 YDCY 88
4013901042075 04722013011720104120130117201041010 00 698027 YDCY 88