gpt4 book ai didi

sql - 解释 SQL 中的编码字段

转载 作者:可可西里 更新时间:2023-11-01 08:08:24 24 4
gpt4 key购买 nike

有了这张表,我想找到 Val 适合我的 Indata 的行。

Tol 字段是一个公差 (varchar),可以是整数/ float 或百分比值。

Row Val Tol   Outdata
1 24 0 A
2 24 5 B
3 24 10 C
4 32 %10 D
5 32 1 E

例如 Indata 30 应该匹配第 3 (24+10=34) 和 4 (32-10%=28.8) 行。

这可以在 mySQL 中完成吗?创建函数?

最佳答案

在 MySQL 中使用该表和列设计将很难做到这一点。您打算如何区分应该进行哪种比较?通过字符串比较来查看您的 varchar 字段是否包含百分号?

我建议将您的公差字段分成(至少)两个 int/float 列,比如 toltol_pct。为了灵 active ,我会将 tol_pct 表示为小数 (10% => .10)。然后,您可以执行如下查询:

select * 
from table
where
(Indata between Val - tol and Val + tol)
or (Indata between Val * (1 + tol_pct) and Val * (1 - tol_pct))

关于sql - 解释 SQL 中的编码字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222981/

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