use*_*331 2 sql t-sql sql-server
我在SQL存储过程中有这个if条件:
@isAlphabeticalSort bit = false
if(@isAlphabeticalSort = false)
ORDER BY V_CONSTAT_ACTUAL_DATES.DATE_TO_END
Else
ORDER BY V_CONSTAT_ACTUAL_DATES.JOB_NUMBER
Run Code Online (Sandbox Code Playgroud)
但我得到一些错误:
无效的列名称为false
'ORDER'附近的语法不正确
我甚至尝试在if和else之间添加开头和结尾但仍然得到相同的错误....我做错了什么?
@isAlphabeticalSort bit = 0
Run Code Online (Sandbox Code Playgroud)
参考:https://msdn.microsoft.com/en-us/library/ms177603.aspx
您还可以查看您的ORDER BY是如何编写的......
ORDER BY
CASE @isAlphabeticalSort
WHEN 0 THEN V_CONSTAT_ACTUAL_DATES.DATE_TO_END
ELSE V_CONSTAT_ACTUAL_DATES.JOB_NUMBER
END
Run Code Online (Sandbox Code Playgroud)
编辑:您需要处理转换错误 - 例如:
ORDER BY
CASE @isAlphabeticalSort
WHEN 0 THEN CONVERT(VARCHAR(8),V_CONSTAT_ACTUAL_DATES.DATE_TO_END,112)
ELSE CONVERT(VARCHAR, V_CONSTAT_ACTUAL_DATES.JOB_NUMBER)
END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |