序号 |
域 名 |
长度 |
位 置 |
填写说明 |
1 |
记录体标记 |
2 |
1-2 |
填“50” |
2 |
话单生成日期 |
8 |
3-10 |
YYYYMMDD |
3 |
SP企业代码 |
20 |
11-30 |
SP企业代码 同文件名中SP企业代码,右对齐,左补空格 |
4 |
业务代码 |
20 |
31-50 |
不包含免费业务 左对齐,右补空格 |
5 |
计费类型 |
2 |
51-52 |
01:按次 02:包月 03:包天 04:包次 |
6 |
资费 |
5 |
53-57 |
单位:分 不保留小数,小数位四舍五入 右对齐,左补0 |
7 |
SP分成比例 |
4 |
58-61 |
SP方的分成比例*1000 纯数字,不带小数点和百分符号的整数 右对齐,左补0 取值范围:0000-1000 |
8 |
话单条数 |
11 |
62-72 |
成功计费话单条数,不包含免费和“查询”类型的话单 右对齐,左补0 |
9 |
计费用户归属省代码 |
3 |
73-75 |
填写计费用户归属省代码,编码规则同对帐责任单位编码 |
10 |
信息费总额 |
12 |
76-87 |
单位:分 纯数字,不保留小数,小数位四舍五入 右对齐,左补0 信息费总额 = 话单条数 * 资费 |
11 |
保留字段1 |
31 |
88-118 |
填空格 |
12 |
回车 |
1 |
119 |
Carriage Return |
13 |
换行 |
1 |
120 |
Line Feed |
SELECT CONCAT( '50', a.t, LPAD('901077', 20, ' '), RPAD(a.serviceid, 20, ' '), '01', LPAD('100', 5, '0'), LPAD('850', 4, '0'), LPAD(a.total, 11, 0), '591', LPAD(a.sumfee, 12, 0), REPEAT(' ', 31), '\r', '\n' ) FROM ( SELECT LEFT(log_time, 8) AS t, serviceid, COUNT(*) AS total, SUM(feecode) AS sumfee FROM mt_log_201107 WHERE spcode = '901077' AND region = '0591' AND feecode > 0 GROUP BY t, serviceid ) a
生成文件
mysql -uroot -f spservice -Ne" SELECT CONCAT( '50', a.t, LPAD('901077', 20, ' '), RPAD(a.serviceid, 20, ' '), '01', LPAD('100', 5, '0'), LPAD('850', 4, '0'), LPAD(a.total, 11, 0), '591', LPAD(a.sumfee, 12, 0), REPEAT(' ', 31), '\r' ) FROM ( SELECT LEFT(log_time, 8) AS t, serviceid, COUNT(*) AS total, SUM(feecode) AS sumfee FROM mt_log_201107 WHERE spcode = '901077' AND region = '0591' AND feecode > 0 GROUP BY t, serviceid ) a " > spdz_001_90107700000000000000_591_201107.txt &