sql - 当我尝试通过不存在的列名过滤 information_schema.columns.column_name 时,Postgres 引发错误
问题描述
我需要从表中过滤掉列“x”,我不知道该列是否存在。我写了一个查询:
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'T'
AND column_name <> "X"
它抛出错误:
[42703] ERROR: column "X" does not exist
为什么?我试图将 _column_name_ 转换为字符串 - 它没有用。
什么问题?
$ psql --version
psql (PostgreSQL) 10.4 (Ubuntu 10.4-2.pgdg16.04+1)
预先感谢!
解决方案
问题是双引号......
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'T'
AND column_name <> 'X'
这应该工作...
推荐阅读
- javascript - 根据 unicode 数字修改字符串的函数
- android - Android ContentResolver - 保存照片元数据
- c++ - 如何在 UWP C++ 中读取文件/写入文件
- c++ - 互斥锁覆盖的返回语句?
- javascript - 在 WEBGL 画布中使用可变字体,p5 js
- java - 分页查询需要有分页参数【Spring Boot】
- sql - CREATE TABLE 从两个表中创建第三个表 JOIN 语句
- javascript - 如何检查 JS 变量是否为 Buffer
- junit4 - Reportportal 集成与稳定的空手道版本 0.9.5 一起使用?
- html - 为什么此表格行背景图像消失在表格单元格后面?