【问题标题】:MySql - Add comma delimiterMySql - 添加逗号分隔符
【发布时间】:2020-07-01 11:00:10
【问题描述】:

有没有办法为 IN 子句的值添加逗号?例如如果我的查询

 SELECT * FROM Persons WHERE Id IN(.....) 

我已经从 csv 文件中复制了,例如:

12
23
58
55

我试着把光标放在 12 的左边,然后按住 Alt + Shift,点击向下键任意多的数字,我看到了行,然后我松开了键 (Alt + Shift) 我按下了逗号 (,) 但它只应用在一行上,我做错了什么?

【问题讨论】:

  • 编辑功能不是通用的。你的编辑是什么?
  • 那里只有 4 个数字,为​​什么不直接输入呢?
  • 由于您使用的是 csv 文件,请在记事本中打开文件并从那里复制。它将有逗号
  • @P.Salmon 不,我有一个 1700 的列表,手动操作并不明显,
  • 我正在使用 ubuntu,我想问是否有办法或技巧在 mysql 中用逗号分隔列表的元素

标签: ubuntu mysql-workbench


【解决方案1】:

您是否使用 Google Chrome/FireFox 并启用了开发工具(按 F12 显示)? 你可以去控制台粘贴这段代码

let lines = `
Paste text from csv here
`;
let lineText = lines.split('\n').filter(x => x.trim().length > 0).map(x => x.trim())
console.log(` SELECT * FROM Persons WHERE Id IN(${lineText.join(', ')})`)

然后你可以把从csv复制的文字粘贴到Paster text from csv here

然后输入。您将在控制台中获得 sql 脚本。然后复制sql并粘贴到mysql命令执行器中。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    当然,Alt+Shift 在 MySQL Workbench 中添加了几个游标,但(无论出于何种原因)它们的行为并非如此。但是,编辑器支持正则表达式进行搜索和替换,因此您可以使用它:

    1. 选择除最后一行之外的所有行。

    2. 转到编辑/查找/查找和替换Ctrl+H)。

    3. 从小?图标设置正则表达式模式:

    4. 搜索$(行尾)并替换为,(逗号)。

    5. 点击全部替换

    免责声明:每次尝试时,我的 Windows 版 Workbench 都会冻结。如果你的也是这样,你可能只想切换到另一个 MySQL 客户端;这种正则表达式语法在编辑器中几乎是通用的。

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多