SQL after in语句中的大小写
我有下面的SQL语句SQL after in语句中的大小写,sql,sql-server,case,Sql,Sql Server,Case,我有下面的SQL语句 ( Select top 1 R.[Date] from dbo.[RTable] R where R.x IN (SELECT Number FROM dbo.xTable) --(CASE when R.[date]> GETDATE() then 'y' --else --'n' end) )as FieldName, 如何应用该案例?我之所以评论它,是因为它在运行时失败,是否有帮助?不清楚您想做什么,但看起
(
Select top 1 R.[Date] from dbo.[RTable] R where R.x
IN (SELECT Number FROM dbo.xTable)
--(CASE when R.[date]> GETDATE() then 'y'
--else
--'n' end)
)as FieldName,
如何应用该案例?我之所以评论它,是因为它在运行时失败,是否有帮助?不清楚您想做什么,但看起来您应该将其作为选择列表的一部分:
SELECT TOP 1 R.[Date],
CASE when R.[date]> current_timestamp then 'y' else 'n' end as FieldName
FROM dbo.[RTable] R
WHERE R.x IN (SELECT Number FROM dbo.xTable)
我用这个来解决这个问题
(Select top 1(CASE when R.[date]>= GETDATE() then 'y' when R.[Date] is null then 'n' else 'n' end)
from dbo.[table] R where R.x=a.y) as field,
错误消息是什么?您希望值
y
和n
做什么?不清楚。另外,TOP 1
没有ORDER BY
几乎总是表示等待发生的错误。WHEN THEN ELSE
是多余的。如果
为true,或者
为false,则始终会生成相同的值,因此不必费心测试
,只需使用否则的值即可。