目前有三个解决方案:
1 excel出现E的问题解决
EXCEL表格 显示 超长 数字 E+ 变成 文本格式,数字全部显示
选中整列,数据--》分列--》固定列宽度(第二项)--》--》下一步--》下一步--》文本--》完成
搞定
对于身份证号或者电话号码或者准考证号等纯数字超长格式很有效果。
另外还有一些前导0的数字填充,可以使用特殊格式
说明:这种案例目前遇不上
2 excel导出数据之前,把excel的数据格式设置为文本,然后从plsql里面把拷贝到excel。
3
情景在现:
在一个数据丢失的处理问题中,去生产环境去取数据,导出类型为excel,结果发现导出的某一列中数据前面的0都
自动的消失了。
解决发法:
1.导出工具为Dbvisualizer的时候,直接对对应的列进行处理。to_char(列名),在导出即可有用。
2.如果导出工具为PL/SQL的时候,按照上面的导出还是存在0丢失情况。此时我们就可以重接拼接SQL,如
to_char('A'||列名),导出的列会增加一个字母A,然后我们可以进行进一步的处理。
select t.id, t.code, t.xm, 'A' || to_char(t.zjhm), t.yddh
from hz_jjhygl.tpz_cyryxx t
where t.lsbz = 0
and t.glrylb = 9
and t.cjsj > date '2021-01-05'
30 解决银行账户数据问题
oracle 版本:select dw.dwdm, dwzh.dwmc, dwzh.yhzh,
'="'|| dwzh.yhzh ||'"' as yhzh ,
dwzh.khh
from ls_wldw_dwzh dwzh
left join ls_wldw dw on dwzh.dwmc = dw.dwmc
where dwzh.yhzh is not null
order by dw.dwdm desc
;
mysql版本
SELECT
CONCAT('A' , CAST(t.WAREHOUSE_ID AS CHAR)) WAREHOUSE_ID,
CONCAT('B' , CAST(t.warehouse_code
AS CHAR)) warehouse_code,
CONCAT('="' , t.WAREHOUSE_ID,'"' ) as id,
CONCAT('="' , t.WAREHOUSE_code,'"' ) as code ,
t.*
FROM
BASIC_WAREHOUSE t
ORDER BY
company_name DESC;