更新 knowledge.md

This commit is contained in:
oyo
2025-10-29 16:14:55 +08:00
parent 06f315a654
commit d15bb5e10f

View File

@@ -797,9 +797,26 @@ meeting_with_room_and_agenda_wo示例
}
@detectDelim
</code>
- **关键概念:变量(Variable)与字段(Field)的本质区别**
【变量(#param)】:
- 来源API 调用方传入的请求参数
- 性质:运行时的**入参值**,在查询执行前已经确定
- 在SQL中的角色参数值通过 PreparedStatement 绑定到 ? 占位符
- 能做什么:只能作为 WHERE 条件的**右侧值**,参与比较运算
- 能否判空:❌ 在 SQL 中不能判空,因为参数的有无应由调用层控制
【字段(field name)】:
- 来源:数据库表中的实际列
- 性质:存储在数据库中的**数据值**
- 在SQL中的角色被查询和过滤的目标
- 能做什么:可以进行各种操作,包括判空检查
- 能否判空:✅ 可以,因为我们需要查询字段是否为 NULL
【类比】:
变量就像"函数的参数",字段就像"函数体内的变量"
你不会在函数签名处检查参数是否为空(那是调用者的职责)
但你会在函数体内检查本地变量是否为空(那是函数的职责)
- **操作符使用的核心规范,必须遵循**
读方案查询条件遵循严格的操作符规范。以下是完整的操作符使用白名单:
- **一元操作符(仅作用于字段):**
- **一元操作符(仅作用于字段,绝对禁止作用于变量**
- isNull判断字段值是否为null
用法field isNull
示例meeting_title isNull