PostgreSQL:SQL中的硬编码字符串

时间:2015-11-07 12:59:08

标签: postgresql

如何在PostgreSQL SELECT中使用硬编码字符串?

类似的东西:

SELECT
 'some value' As FieldName
 FROM table

上面给出了pgAdmin中的错误。

5 个答案:

答案 0 :(得分:1)

Craig Ringers的答案是(一如既往)正确我想在其中添加以下扩展名:

--
-- This is how you can define a hardcoded value as column (here as the type 'text').
-- Instead of the explicit 'CAST(...)' call it's also possible to use the
-- '::text' short version.
--
-- NOTE-1: The short version or omitting the type completely might not
--         work in every SQL client (e. g. SquirrelSQL), while the
--         CAST(...) call is pretty safe.
--
-- NOTE-2: Please always use lower case column names!
--
SELECT CAST('some value' AS text) AS fieldname;

答案 1 :(得分:0)

这是你在找什么?

SELECT * FROM table WHERE FieldName ='some value';

它将从table中选择FieldName的值为'some value'的所有列。

答案 2 :(得分:0)

假设table确实存在,你所写的内容很好。尝试:

SELECT 'some_value' AS FieldValue, x FROM generate_series(1,10) x;

作为一个明确有效的例子,将常量字符串与计数器一起打印10次。

如果您希望一个常量,而不是从表中添加到select中的常量列,请省略FROM子句。

SELECT 'some value' AS FieldName;

将返回单行结果。

答案 3 :(得分:0)

不,它在过程内部不起作用,在执行以下查询时出现以下错误-

select  'some value' :: TEXT AS field_name;

错误:查询没有结果数据的目的地 提示:如果要放弃SELECT的结果,请改用PERFORM。 上下文:SQL语句中的PL / pgSQL函数test_variable()第8行 SQL状态:42601

答案 4 :(得分:-3)

在SELECT关键字之后,您只能插入列名。也许你正在寻找像这样的东西

SELECT 'columnname' AS 'alias'
FROM 'tablename'
WHERE 'alias/columnname' = 'hardcodedvalue';