gpt4 book ai didi

sql - 如何在 SQL 中连接浮点列?

转载 作者:行者123 更新时间:2023-12-03 08:59:18 26 4
gpt4 key购买 nike

在 ANSI SQL(或重要实现)中连接浮点列是否合法?

我确信这通常不是一个好主意,但我正在开发一个 API,并寻求 SQL 的指导来确定是否应该阻止它,或者留给开发人员选择。

如果合法,您是否可以选择指定在比较中使用的精度?

最佳答案

SQL 允许连接任何列和任何条件。

但是,如果您可以防止在浮点列上使用相等条件,则不应允许在此类列上进行连接。简单的替换是允许在小数/数字列上进行连接。

有什么问题吗? WYSIWIG(所见即所得)就是问题所在。两个浮点值可能看起来相同,但又不同。这会导致 join 失败。

您可以将条件指定为本质上:

on abs(a - b) < 0.00001 -- your favorite threshold

但这会阻止使用索引。有些数据库可能对 float 有“模糊”匹配。

在某些情况下,您可能希望使用浮点值进行不平等连接。这将是在进行范围时:

limit       val
1.4142 'a'
2.7182 'b'
3.1415 'c'

但这是一种罕见的情况 - 特别是当限制应该是浮点而不是计数或货币限制时。

关于sql - 如何在 SQL 中连接浮点列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52207851/

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