postgresql – Postgres SELECT其中WHERE是UUID或字符串
发布时间:2020-12-13 16:16:14 所属栏目:百科 来源:网络整理
导读:我在Postgres中使用了简化表: 用户模型 id(UUID) uid(varchar) name(varchar) 我想要一个查询,可以在其UUID ID或其文本uid上找到用户. SELECT * FROM userWHERE id = 'jsdfhiureeirh' or uid = 'jsdfhiureeirh'; 我的查询为uuid生成了无效的输入语法,因为在
我在Postgres中使用了简化表:
>用户模型 > id(UUID) 我想要一个查询,可以在其UUID ID或其文本uid上找到用户. SELECT * FROM user WHERE id = 'jsdfhiureeirh' or uid = 'jsdfhiureeirh'; 我的查询为uuid生成了无效的输入语法,因为在这个实例中我显然没有使用UUID. 如何优化此查询或检查该值是否为有效的UUID?
找到了!将UUID列转换为:: text可以阻止错误.不确定性能是否打击,但在大约5000行上我得到的不仅仅是足够的性能.
SELECT * FROM user WHERE id::text = 'jsdfhiureeirh' OR uid = 'jsdfhiureeirh'; SELECT * FROM user WHERE id::text = '33bb9554-c616-42e6-a9c6-88d3bba4221c' OR uid = '33bb9554-c616-42e6-a9c6-88d3bba4221c'; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |