|M| SQL查询词句 查询字段值是否有为"Yes"
如表
table
id ISOK
1 Yes
2 No
3 No
查询表table当ISOK有为 "YES "时返回 1 否为 0
也就是用Cmd..ExecuteScalar(....sql)
就是这里面的sql要怎么写
谢谢
------解决方案--------------------table
id ISOK -- bit
1 1
2 0
3 0
bool字段应该用bit,不要用字符类型
SELECT * FORM [table] WHERE [ISOK]
------解决方案--------------------bit 字段在程序里显示的是 True False
------解决方案--------------------select id,case ISOK when 'YES ' then 1 else 0 end from tb
------解决方案--------------------select id, '1 'from table where ISOK= 'yes '
union
select id, '0 'from table where ISOK= 'no '
------解决方案--------------------使用CASE
Create Table TEST
(id Int,
ISOK Varchar(10))
Insert TEST Select 1, 'Yes '
Union All Select 2, 'No '
Union All Select 3, 'No '
GO
Select
id,
(Case When ISOK = 'Yes ' Then 1 Else 0 End) As ISOK
From TEST
GO
Drop Table TEST
--Result
/*
id ISOK
1 1
2 0
3 0
*/
------解决方案--------------------Select id,
(Case When ISOK = 'Yes ' Then 1 Else 0 End) As ISOK
From TEST
------解决方案--------------------select id,
ISOK=case ISOK when 'Yes ' then 1 when 'No ' then 0 end
from TEST
------解决方案--------------------简单
------解决方案--------------------bool字段用bit