mar*_* li 1 sql postgresql lua
我在我的网络应用程序中运行以下sql查询:
SELECT EXISTS (
SELECT id
FROM user
WHERE membership=1244)
Run Code Online (Sandbox Code Playgroud)
我期待真实(布尔数据)作为结果,但我得到't'或'f'表示错误.如何让它返回我的lua代码标准布尔值?
我找到了以下帖子:
所以我试图将我的代码更改为这样的代码:
SELECT EXISTS ::int (
SELECT id
FROM user
WHERE membership=1244)
Run Code Online (Sandbox Code Playgroud)
要么
SELECT ::INT (SELECT EXISTS (
SELECT id
FROM user
WHERE membership=1244))
Run Code Online (Sandbox Code Playgroud)
但是我收到了语法错误.
你能告诉最好的办法吗?我应该以某种方式将结果't'转换为布尔值吗?或者有没有办法告诉postgresql返回true/false而不是't'/'f'?
谢谢.
您的第一个查询确实返回一个布尔值。At
显示为查询的返回值
select exists (select 1);
exists
--------
t
Run Code Online (Sandbox Code Playgroud)
但如果你检查它的类型,它是一个布尔值:
select pg_typeof(exists (select 1));
pg_typeof
-----------
boolean
Run Code Online (Sandbox Code Playgroud)
您必须查看 lua 的 postgresql 驱动程序手册以了解如何正确处理它。
尝试一下CASE
select
(case when exists (SELECT id FROM user WHERE membership = 1244)
then 1
else 0
end) as column;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13308 次 |
最近记录: |