如何在PostgreSQL SELECT中使用硬编码字符串?
类似的东西:
SELECT
'some value' As FieldName
FROM table
上面给出了pgAdmin中的错误。
答案 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';