#postgresql #column-alias
Вопрос:
Как избежать одинарной кавычки в псевдониме столбца в PostgreSQL?
Я попробовал несколько синтаксисов, но безуспешно:
SELECT 'Test 1' AS 'O''Connell';
SELECT 'Test 2' AS 'O'Connell';
SELECT 'Test 3' AS "O''Connell";
Скриншот pgAdmin
Комментарии:
1. Идентификаторы заключены в двойные кавычки, поэтому:
SELECT "Test 3" AS "O''Connell" FROM ...;
см. Раздел Идентификаторы2. @AdrianKlaver «тест 3» будет столбцом, а не текстом, и имя столбца будет содержать 2 одинарные кавычки…
3. @JGH, если бы вы обратили внимание на вопрос, вы бы увидели, что GeoGyro спрашивает об псевдониме столбца, а не о псевдониме строки, и мое предложение правильно для этого приложения.
Ответ №1:
Используйте двойную кавычку для идентификатора и одну одинарную кавычку внутри:
SELECT 'Test 3' AS "O'Connell";
O'Connell
-----------
Test 3
Комментарии:
1. ОК. А когда я использую поле в своем запросе, например
SELECT field AS "O'Connell" FROM table;
?2. @GeoGyro да, как и для любого другого псевдонима 🙂
3. За исключением того, что ответ будет неудачным, если
'Test 3'
это столбец в таблице. Идентификаторы должны быть в двойных кавычках. Пожалуйста, пересмотрите свой ответ, чтобы он был правильным.4. @AdrianKlaver, как и в вопросе,
'test 3'
— это строка, константа, если хотите, которая выбрана в качестве столбца. У этой колонки должен быть псевдоним, и мой ответ прекрасно подходит для этого пункта.5. @GeoGyro вы можете обмануть (не слишком яркий) анализатор цветов, добавив одну кавычку в комментариях после псевдонима
select myfield as "o'connor" /*'*/, myOtherField from...