我有这个查询(伪代码)
SELECT
a = 1,
b = 2,
c = CASE
WHEN ISNULL(
(SELECT MONTH(GETDATE()) <---long query
), 0) = 0 THEN 'found'
ELSE
SELECT MONTH(GETDATE()) <--- repeated long query
END
问题是SELECT MONTH(GETDATE())
which 实际上是很长的查询。
这个“长表达式”是否有任何解决方法不在查询中出现两次?
ps
我有一个计算SELECT MONTH(GETDATE())
外部变量的解决方案......但我试图弄清楚是否有一个内联解决方案。