MySql - Добавить запятую - PullRequest
       6

MySql - Добавить запятую

0 голосов
/ 20 марта 2020

Есть ли способ добавить запятые для значений для предложения IN? например, если мой запрос

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

и я скопировал из файла CSV, например:

12
23
58
55

Я попытался поместить курсор слева от 12 и удерживать нажатой Alt + Shift , нажмите клавишу «Вниз», чтобы набрать столько цифр, сколько у вас было, я увидел линию и отпустил клавиши ( Alt + Shift ) Я нажал запятую (,), но она применяется только к одной строке, что я сделал не так?

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Используете ли вы Google Chrome / FireFox и инструмент разработки (нажмите F12, чтобы показать его)? Вы можете go утешить и вставить этот код

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 команду-исполнитель.

Like this image

Надеюсь, это поможет!

0 голосов
/ 21 марта 2020

Конечно, Alt + Shift добавляет несколько курсоров в MySQL Workbench, но (по какой-то причине) они не ведут себя как таковые. Редактор, однако, поддерживает регулярные выражения для поиска и замены, поэтому вы можете использовать это:

  1. Выберите все строки, кроме последней.
  2. Go до Редактировать / Найти / найти и заменить ( Ctrl + H ).
  3. Установить режим Регулярное выражение из крошечного ? icon:

    Regular Expression

  4. Найдите $ (конец строки) и замените на , (запятая).
  5. Hit Заменить все .

    Replace All

Отказ от ответственности: моя копия Workbench для Windows зависает при каждой попытке. Если у вас тоже, вы можете просто переключиться на другого клиента MySQL; этот синтаксис регулярных выражений универсален для всех редакторов.

...