Decimal类型的字段为啥不能为Null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Decimal类型的字段为啥不能为Null相关的知识,希望对你有一定的参考价值。

定义一个为null的情况接收的值,或者说数据库不可能存的值如 -1
sql.append("select N_XMXZ, N_LXSBH from t_zxxm_lxs where N_LXSBH =");

改为:
sql.append("select nvl(N_XMXZ,-1) N_XMXZ, N_LXSBH from t_zxxm_lxs where N_LXSBH =");

前台取出如何是-1的说明数据库里面为空,自己根据业务处理吧
参考技术A 因为它不是可空类型啊。

c#如何将null值附值decimal类型变量

例如我定义一个变量为decimal abc;
我如何把null值附给变量abc呢?

你可以使用Nullable class(.NET 2.0 新加)。
decimal? abc;
这样abc = null就可以使用了。
另外请参考??操作符。
不过Nullable需要先判断HasValue属性或者是否为null。

不过不要过量使用Nullable
参考技术A .net里面decimal是值类型,不可能为空
可以设置为
decimal.MaxValue 表示 Decimal 的最大可能值。该字段是常数且为只读。
decimal.MinusOne 表示数字负一 (-1)。
decimal.MinValue 表示 Decimal 的最小可能值。该字段是常数且为只读。
decimal.One 表示数字一 (1)。
decimal.Zero 表示数字零 (0)。
参考技术B 抱歉,decimal是值类型,你可以考虑使用Decimal?类型,然后用.value取值

以上是关于Decimal类型的字段为啥不能为Null的主要内容,如果未能解决你的问题,请参考以下文章

mysql字段类型为decimal,则java 实体类的对应属性类型应该为啥

SQLServer中decimal 类型的问题

将string类型转换为decimal为啥会自动四舍五入

c# decimal类型 有没有像string.Empty那样的值?

解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题

c#如何将null值附值decimal类型变量