Вставить двойные кавычки в вывод SQL

Вопрос:После запуска запроса и просмотра вывода, например select * from People Мой вывод выглядит следующим образом First Last Email Ray Smith raysmith@whatever.itis Как я могу экспортировать эти данные, чтобы они выглядели следующим образом? "Ray","Smith","raysmith@whatever.itis" Или есть ли способ сделать это в SQL для изменения записей, чтобы содержать кавычки? Потому что, когда вы экспортируете, он будет

Вопрос:

После запуска запроса и просмотра вывода, например

select * from People

Мой вывод выглядит следующим образом

First Last Email Ray Smith raysmith@whatever.itis

Как я могу экспортировать эти данные, чтобы они выглядели следующим образом?

«Ray»,»Smith»,»raysmith@whatever.itis»

Или есть ли способ сделать это в SQL для изменения записей, чтобы содержать кавычки?

Потому что, когда вы экспортируете, он будет включать запятые в любом случае, правильно?

Лучший ответ:

Если интересующие вас столбцы составляют 128 символов или меньше, вы можете использовать функцию QUOTENAME. Будьте осторожны с этим, поскольку что-нибудь более 128 символов вернет NULL.

SELECT QUOTENAME(First, ‘»‘), QUOTENAME(Last, ‘»‘), QUOTENAME(Email, ‘»‘) FROM People Ответ №1select ‘»‘+first+'»,»‘+last+'»,»‘+email+'»‘ from people

Это то, что лучше всего делать в коде, однако вы не должны запрашивать презентацию.

Ответ №2

выберите concat ( “” “, сначала “ “”, “” “, Last, “ “”, “” “, Email, “ “” ) как allInOne

Ответ №3

Изменение записей, содержащих кавычки, будет катастрофой; вы не используете данные только для экспорта. Кроме того, теоретически вам придется иметь дело с такими именами, как:

Thomas «The Alley Cat» O’Malley

который представляет некоторые проблемы.

В стандартном SQL вы должны использовать двойные одинарные кавычки, чтобы заключить одинарные кавычки (без специальной обработки для двойных кавычек):

‘»Thomas «The Alley Cat» O»Malley»‘

Некоторые СУБД позволяют использовать двойные кавычки вокруг строк (в стандартном SQL двойные кавычки указывают “разделительный идентификатор”, SQL Server использует для этого квадратные скобки), и в этом случае вы можете написать строку как:

«»»Thomas «»The Alley Cat»» O’Malley»»»

Как правило, ваши инструменты-экспортеры предоставляют форматирование вывода CSV, и ваш SQL-запрос не должен беспокоиться об этом. Встроенные цитаты делают что-то еще проблематичным. В самом деле, вы обычно не должны делать СУБД с форматированием данных.

Ответ №4

Это сработало лучше для меня

SELECT ‘UPDATE [dbo].[DirTree1] SET FLD2UPDATE=’,QUOTENAME(FLD2UPDATE,»») +’ WHERE KEYFLD=’+QUOTENAME(KEYFLD,»») FROM [dbo].[Table1] WHERE SUBSTRING(FLD2UPDATE,1,2) = ‘MX’ order by 2 Ответ №5

Если вы используете MS SQL Server, попробуйте что-то вроде:

SELECT ‘»‘||Table.Column||'»‘ FROM Table

– Обратите внимание, что первые 3 символа между “SELECT” и “||” находятся:

– Символы совпадают после символов “||” в конце… таким образом вы получаете “с каждой стороны от вашего значения”.

Оцените статью
Добавить комментарий