![](/img/trans.png)
[英]Program crashes when I try to move my player across the screen on a simple map in C
[英]My program crashes when I try to read a NULL value using sqlite in C
我尝试使用以下语句来检查记录的给定字段名中存在的值是否为NULL
,如果是NULL
,则输入0
,否则返回字段名中存在的值。 它显示语法错误。
SELECT [structname.fieldname], isnull([structname.fieldname],0) FROM tablename WHERE condition;
你能告诉我我哪里错了吗?
我也试过下面的说法
SELECT [structname.fieldname], CASE WHEN [structname.fieldname] IS NULL THEN 0 ELSE [structname.fieldname] END FROM tablename WHERE condition;
对于上述语句,程序在遇到NULL
值时会崩溃。 你能告诉我我还能如何检查特定记录的值是否为NULL
,如果不是NULL
则读取该值,否则将其读取为0
您没有正确使用方括号。
列名应该这样写:
[structname].[fieldname]
假设[structname]
是fieldname
来自的表的名称或别名,而不像:
[structname.fieldname]
仅当列的名称实际上是structname.fieldname
时才可以。
您需要使用 function COALESCE()
来完成:
SELECT COALESCE([fieldname], 0) FROM tablename
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.