gpt4 book ai didi

postgresql - 添加约束以防止表中出现 NaN

转载 作者:行者123 更新时间:2023-11-29 11:39:24 24 4
gpt4 key购买 nike

我有一个格式为 myVar REAL NOT NULL 的列。此列应该只包含实际数字。我可以添加什么样的约束来防止 myVar 变成 NaN?

最佳答案

通常你需要一个特殊的函数来检测一个值是否为 NaN(类似于要求 is nullis not null 测试 SQL 的 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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com