2017-01-23 5 views
0

У меня есть таблица в SQLite db, которая имеет несколько столбцов с ведущим '='. Я понимаю, что я могу использовать ...SQLite TRIM тот же символ, несколько столбцов

SELECT TRIM(`column1`, '=') FROM table; 

очистить одну колонку, однако я получаю ошибку синтаксиса если я пытаюсь, например, это ...

SELECT TRIM(`column1`, `column2`, `column3`, '=') FROM table; 

Из-за неправильного количества аргументов.

Есть ли более эффективный способ написания этого кода, чем применение обрезки к каждому столбцу отдельно?

SELECT TRIM(`column1`,'=')as `col1`, TRIM(`column2`,'=')as `col2`, TRIM(`column3`,'=')as `col3` FROM table; 

ответ

1

Как SQLite гид говорит:

облицовку (X, Y)

облицовку (X, Y) возвращает строку, сформированную путем удаления любых и всех символы, которые появляются в Y с обоих концов X. Если аргумент Y отсутствует , то обрезка (X) удаляет пробелы с обоих концов X.

У вас есть только два параметра, поэтому невозможно применить его на один столбец с тремя столбцами.

Первый параметр - это столбец или переменная, на которую можно применить обрезку. Второй параметр - это символ, который нужно изменить.

+0

Так что я должен делать их как отдельные звонки TRIM? – spcurtis81

+0

Вы должны позвонить как отдельные вызовы TRIM, как вы писали в запросе –

+0

Thanks Joe. Вызов их отдельно сейчас. Я заметил в другом потоке стека, что использование * в SELECT также не рекомендуется, так что представьте, хотя это может показаться длинным, но более ресурсосберегающим. Благодарю. – spcurtis81

Смежные вопросы