MySQL 数据格式化
文件記錄體格式
| 序號(hào) | 域 ??名 | 長(zhǎng)度 | 位 置 | 填寫說(shuō)明 |
| 1 | 記錄體標(biāo)記 | 2 | 1-2 | 填“50” |
| 2 | 話單生成日期 | 8 | 3-10 | YYYYMMDD |
| 3 | SP企業(yè)代碼 | 20 | 11-30 | SP企業(yè)代碼 同文件名中SP企業(yè)代碼,右對(duì)齊,左補(bǔ)空格 |
| 4 | 業(yè)務(wù)代碼 | 20 | 31-50 | 不包含免費(fèi)業(yè)務(wù) 左對(duì)齊,右補(bǔ)空格 |
| 5 | 計(jì)費(fèi)類型 | 2 | 51-52 | 01:按次 02:包月 03:包天 04:包次 |
| 6 | 資費(fèi) | 5 | 53-57 | 單位:分 不保留小數(shù),小數(shù)位四舍五入 右對(duì)齊,左補(bǔ)0 |
| 7 | SP分成比例 | 4 | 58-61 | SP方的分成比例*1000 純數(shù)字,不帶小數(shù)點(diǎn)和百分符號(hào)的整數(shù) 右對(duì)齊,左補(bǔ)0 取值范圍:0000-1000 |
| 8 | 話單條數(shù) | 11 | 62-72 | 成功計(jì)費(fèi)話單條數(shù),不包含免費(fèi)和“查詢”類型的話單 右對(duì)齊,左補(bǔ)0 |
| 9 | 計(jì)費(fèi)用戶歸屬省代碼 | 3 | 73-75 | 填寫計(jì)費(fèi)用戶歸屬省代碼,編碼規(guī)則同對(duì)帳責(zé)任單位編碼 |
| 10 | 信息費(fèi)總額 | 12 | 76-87 | 單位:分 純數(shù)字,不保留小數(shù),小數(shù)位四舍五入 右對(duì)齊,左補(bǔ)0 信息費(fèi)總額 = 話單條數(shù) * 資費(fèi) |
| 11 | 保留字段1 | 31 | 88-118 | 填空格 |
| 12 | 回車 | 1 | 119 | Carriage Return |
| 13 | 換行 | 1 | 120 | Line Feed |
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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 |
生成文件
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 & |
總結(jié)
以上是生活随笔為你收集整理的MySQL 数据格式化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux tr命令详解
- 下一篇: Mysql一些维护命令