postgresql – 添加约束以防止表中的NaN

postgresql – 添加约束以防止表中的NaN,第1张

概述我有一个columne,当前的形式是myVar REAL NOT NULL.这应该只是一个实际的数字.我可以添加什么样的约束来阻止myVar成为NaN? 通常你需要一个特殊的函数来检测一个值是否为NaN(类似于require是null并且不是SQL的null的null测试)但是在PostgreSQL中, NaN = NaN is true: […] In order to allow numeri 我有一个columne,当前的形式是myVar REAL NOT NulL.这应该只是一个实际的数字.我可以添加什么样的约束来阻止myVar成为NaN?解决方法 通常你需要一个特殊的函数来检测一个值是否为NaN(类似于require是null并且不是sql的null的null测试)但是在Postgresql中,NaN = NaN is true:

[…] In order to allow numeric values to be sorted and used in tree-based indexes,Postgresql treats NaN values as equal,and greater than all non-NaN values.

因此,直接比较的简单CHECK约束就足够了:

check (myvar <> 'NaN')

如果您愿意,可以包括演员阵容,但没有必要:

check (myvar <> 'NaN'::real)check (myvar <> 'NaN'::numeric)
总结

以上是内存溢出为你收集整理的postgresql – 添加约束以防止表中的NaN全部内容,希望文章能够帮你解决postgresql – 添加约束以防止表中的NaN所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存