在PostgreSQL中选择具有特定列名称的列
发布时间:2020-12-13 16:29:55 所属栏目:百科 来源:网络整理
导读:我想编写一个简单的查询来选择PostgreSQL中的多个列.但是,我一直在收到错误 – 我尝试了一些选项,但它们对我不起作用.目前我收到以下错误: org.postgresql.util.PSQLException: ERROR: syntax error at or near “column” 要获取具有值的列,请尝试以下操作
我想编写一个简单的查询来选择PostgreSQL中的多个列.但是,我一直在收到错误 – 我尝试了一些选项,但它们对我不起作用.目前我收到以下错误:
要获取具有值的列,请尝试以下操作: select * from weather_data where column like '%2010%' 有任何想法吗?
column是
reserved word.除非您双引号,否则不能将其用作标识符.喜欢:“专栏”.
但是,这并不意味着你应该这样做.只是不要使用保留字作为标识符.永远. 至 …
..您可以使用此函数从系统目录表pg_attribute动态构建SQL命令: CREATE OR REPLACE FUNCTION f_build_select(_tbl regclass,_pattern text) RETURNS text AS $func$ SELECT format('SELECT %s FROM %s',string_agg(quote_ident(attname),','),$1) FROM pg_attribute WHERE attrelid = $1 AND attname LIKE ('%' || $2 || '%') AND NOT attisdropped -- no dropped (dead) columns AND attnum > 0; -- no system columns $func$LANGUAGE sql; 呼叫: SELECT f_build_select('weather_data','2010'); 返回类似于: SELECT foo2010,bar2010_id,FROM weather_data; 你不能使它完全动态,因为在我们实际构建查询之前,返回类型是未知的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |