Eri*_*ric 69 sql boolean-expression
假设active是一个"boolean field"(小int,0或1)
# Find all active users
select * from users where active
# Find all inactive users
select * from users where NOT active
Run Code Online (Sandbox Code Playgroud)
换句话说,"NOT"运算符可以直接应用于布尔字段吗?
Jos*_*lio 77
SQL中的布尔值是位字段.这意味着1或0.正确的语法是:
select * from users where active = 1 /* All Active Users */
Run Code Online (Sandbox Code Playgroud)
要么
select * from users where active = 0 /* All Inactive Users */
Run Code Online (Sandbox Code Playgroud)
Luc*_*c M 19
使用Postgres,您可以使用
select * from users where active
Run Code Online (Sandbox Code Playgroud)
要么
select * from users where active = 't'
Run Code Online (Sandbox Code Playgroud)
如果要使用整数值,则必须将其视为字符串.您不能使用整数值.
select * from users where active = 1 -- Does not work
select * from users where active = '1' -- Works
Run Code Online (Sandbox Code Playgroud)
Sco*_*vey 11
MS SQL 2008也可以使用字符串版本的true或false ...
select * from users where active = 'true'
-- or --
select * from users where active = 'false'
Run Code Online (Sandbox Code Playgroud)
Jon*_*len 10
在SQL Server中,您通常会使用.我不知道其他数据库引擎.
select * from users where active = 0
Run Code Online (Sandbox Code Playgroud)