【发布时间】:2019-07-16 20:10:17
【问题描述】:
有一个存储过程连接表以检索所需的结果。它需要通过@cha_id 对其进行过滤,如果用户没有提供它,它将相应地采用tablea 中的任何内容。我们如何在动态 SQL 查询中处理 COALESCE?我无法得到它,因为@cha_id 也应该进行转换。例如,如果不需要 COALESCE 或 ISNULL,这将起作用
WHERE tablea.chan_id = '''+CONVERT(VARCHAR,@chan_id)+'''
会起作用的。但是在我需要 COALESCE/ISNULL 的情况下,我无法弄清楚。
WHERE tablea.chan_id = COALESCE(CONVERT(VARCHAR,@chan_id),tablea.chan_id)
我一直在徒劳地研究。任何帮助都感激不尽。
【问题讨论】:
标签: sql tsql stored-procedures dynamic-sql