【问题标题】:nodejs how to replace ; with ',' to make an sql querynodejs如何替换;使用 ',' 进行 sql 查询
【发布时间】:2020-06-03 21:22:32
【问题描述】:

我的查询如下所示:

INSERT INTO table VALUES ('47677;2019;2019;10T-1001-10010AS;A05;International;TieLineKoman-KosovoB;L_KOM-KOSB;2018;NULL;NULL;;NULL;Tieline;NULL;10XAL-KESH-----J;0;3') 

通过解析 csv 文件生成。

查询的格式无效,我必须将所有分号替换为字符串 ','(单引号内的逗号)。我想得到的是:

('47677','2019','2019','10T-1001-10010AS','A05','International','TieLineKoman-KosovoB','L_KOM-KOSB','2018','NULL','NULL','','NULL','Tieline','NULL','10XAL-KESH-----J','0','3') 

我尝试了很多不同的方法,但我最终在我的字符串中添加了反斜杠。这是我得到的:

"INSERT INTO AllocatedEICDetail VALUES ('47677\\',\\'2019\\',\\'2019\\',\\'10T-1001-10010AS\\',\\'A05\\',\\'International\\',\\'TieLineKoman-KosovoB\\',\\'L_KOM-KOSB\\',\\'2018\\',\\'NULL\\',\\'NULL\\',\\'\\',\\'NULL\\',\\'Tieline\\',\\'NULL\\',\\'10XAL-KESH-----J\\',\\'0\\',\\'3')"

任何想法如何在不添加反斜杠的情况下正确执行此操作?

谢谢!

【问题讨论】:

  • xy 问题.. 修复 csv 解析而不是查询,然后使用准备好的查询

标签: node.js replace quotes backslash


【解决方案1】:
//the string you have
const string = '47677;2019;2019;10T-1001-10010AS;A05;International;TieLineKoman-KosovoB;L_KOM-KOSB;2018;NULL;NULL;;NULL;Tieline;NULL;10XAL-KESH-----J;0;3';
//the string you need:
const targetString = string.replace(/\;/g,',');

你在replace中的正斜杠之间指定一个小的正则表达式,它是一个简单的';',给它一个全局的'g'标志,它将替换所有实例,并在第二个参数中提供你需要它替换的内容。

【讨论】:

  • 其实我想做的是 const targetString = string.replace(/\;/g," ',' "); ,这意味着带逗号的单引号应替换分号,而不仅仅是逗号,还要添加反斜杠。
  • 试试 string.replace(/\;/g," ',' "); ,将结果写入一个简单的文本文件,看看结果如何。由于节点中的控制台输出显示原始字符串,节点可能显示反斜杠。我试过了,文本文件中没有反斜杠,所以你可以试试你的查询,否则我们必须考虑或其他。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 2013-12-26
  • 2021-02-02
  • 2018-06-08
  • 2012-06-18
相关资源
最近更新 更多