Vertica SQL查询域名遇列不存在错误,求修复方案
修复Vertica SQL查询错误的方法
错误原因
- 字符串标识错误:Vertica中双引号
"用于引用列名、表名等数据库对象,你用双引号包裹"%cointelegraph.com%",数据库会把它当成列名,导致“列不存在”的错误。字符串必须用单引号'包裹。 - 通配符使用方式错误:
IN操作符仅支持精确匹配,不能搭配%这类通配符实现模糊查询,需要用LIKE(区分大小写)或ILIKE(不区分大小写)来处理模糊匹配。
修复后的SQL语句
方式一:用OR结合LIKE
SELECT * FROM fact f WHERE f.country_id = 840 AND (f.domain LIKE '%cointelegraph.com%' OR f.domain LIKE '%coindesk.com%')
方式二:用ANY结合LIKE(更简洁)
SELECT * FROM fact f WHERE f.country_id = 840 AND f.domain LIKE ANY ('%cointelegraph.com%', '%coindesk.com%')
内容的提问来源于stack exchange,提问作者kickia
相关产品推荐
相关产品推荐

