突然接到需求,我有一段SQL需要在前端显示,你看一下怎么样格式化展示好看,有点不知所措。
然后自己查找资料找到了这个插件 sql-formatter ,是挺好用,但是像一些特殊符号之间也有添加一些空格,一些模板字符串的写法格式化有问题,这里我用了replace将sql-formatter格式化的字符串进行替换
首先是下载依赖 npm install --save sql-formatter
组件中引入 import sqlFormatter from 'sql-formatter';
组件中使用:
const partyId = 12333333333;
const data =
` select p.id pId, p.cds_num pCdsNum, p.cif_num pCifNum, b2.clentCif,p.name, 2.clentName, a1.prjCode
from (
select temp.partyId, group_concat(distinct prjCode) prjCode
from (select pledge_party_id partyId, group_concat(distinct prj_code) prjCode
from pm_pledge p
inner join pm_project_guarantee_item g
on p.guarantee_item_id = g.id and p.pledge_party_id in ${partyId}
group by pledge_party_id `;
SQL处理数据格式化 const sqlvalue = sqlFormatter.format(data);
这里提示一下:
有模板字符串这样的可以替换一下 .replace(/\$ /g,'$').replace(/{ /g,'{').replace(/ }/g,'}')
如果有更好的替换方法可以与我交流,谢谢。
页面展示:<TextArea rows={10} value={sqlvalue}></TextArea>
这个时候可能会出现一种没有格式化的效果,没关系,可能是sql-formatter版本号的问题,如果有问题可以在下载依赖的时候选择这个命令 npm install sql-formatter@2.3.3 -S
希望会给大家带来帮助!