SQL Server中具有只读访问权限的条件语句

时间:2014-12-23 15:58:20

标签: sql sql-server

我正在尝试从SQL Server中的表中组装信息,其中我只有读访问权。

我想解释我想要做的最好的方法是展示我尝试做的事情。

USE eMOS2
IF ( OPERATION.CLOSE_DATE WHERE WORKORDER_BASE_ID='73691' IS NULL )
    THEN 
        SELECT
            SHED_START_DATE,
            SHED_FINISH_DATE
        FROM OPERATIONS    
        WHERE WORKORDER_BASE_ID='73691'
    ELSE 
        SELECT
            SHED_START_DATE,
            CLOSE_DATE
        FROM OPERATIONS    
        WHERE WORKORDER_BASE_ID='73691'

不幸的是,这不起作用。我毫不怀疑我的语法错误我尝试了几种不同的格式,但问题似乎是我的访问权限是只读的。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

select shed_startdate, isnull(close_date,shed_finish_date) 
from operations 
where workorder_base_id = '73691'

答案 1 :(得分:1)

您可以使用ISNULL或COALESCE。 COALESCE可能更好,因为它是标准的sql。

SELECT
  SHED_START_DATE,
  COALESCE(CLOSE_DATE,SHED_FINISH_DATE) AS CLOSE_DATE
FROM OPERATIONS    
WHERE WORKORDER_BASE_ID='73691'