原因:设置错误导致。解决方法:重新正确设置来解决此问题。
如下参考:
1、首先在桌面上,点击“ManagementStudio”图标。
3.然后在这个窗口中,输入SQL语句“selectISNULL(count(*),0)fromtest1wherename='e'当count为0时。”
4.然后,在窗口中,单击工具栏中的“执行”图标。
5.最后,在此窗口中,当count为0时显示成功。
papersnake的回答是正确的,name=0和name=false结果都是true.
主要是mysql在比较的时候自动转换完成的,
参考以下示例:
SELECT 'xxxx' = 0
SELECT '0xxx' = 0
SELECT '1xxx' = 0
SELECT 'x1xx' = 0
SELECT 'xxxx' = FALSE
SELECT '0xxx' = FALSE
SELECT '1xxx' = FALSE
SELECT 'x1xx' = FALSE
mysql会强制转换类型,进行比较,转换的规则和PHP类似,都是从前往后每个字符依次转换
select paymentno,amount,case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end lvl
from `penalties`
.#对罚款登记分为三类,第一类low,包括大于0小于等于40的罚款,第二类moderate大于40
#到80之间的罚款,第三类high包含所有大于80的罚款。
同理查询是否为0 也可用 case when ,
select *** case when ***=0 then '' else '***' end lvl form ****
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)