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