2

値が日付かどうかを確認する必要がありますが、オフセットのためにISDATE()値に直面すると、関数は 0 を返します。2012-07-21 00:00:00+02:00私の問題は、値を単純にキャストできないことです。実際には、キャストISDATE()する前に値が日付であるかどうかを確認するためにクエリで使用することを目的としています (以下の例を参照)。

SELECT p.propertyid 
FROM   property p 
WHERE  CASE Isdate(p.[value]) 
         WHEN 1 THEN 
           CASE 
             WHEN Cast(p.[value] AS DATETIME) >= Cast('7/1/2012' AS DATETIME) 
           THEN 1 
             ELSE 0 
           END 
         ELSE 0 
       END = 1 

p.[value]そのため、例の が日付であるかどうかを確認する方法を知りたいです。

4

1 に答える 1

-2

SQL Server 2012 では、これが簡単になります。

select p.propertyid from Property p 
where try_convert(datetyime,p.[enddate])  is not null
于 2012-07-09T13:53:18.910 に答える