1

個人の拒否理由を保持する列があります。値は、「拒否された人」または「2012 年 10 月 18 日」のようなものです。

値が日付であるかどうかを確認するようにクエリを設定しようとしています。その場所に空白を入れることができます。それ以外の場合は、そこにあるテキストを保持します。

私が設定したクエリは次のとおりです。

SELECT DISTINCT person_id, 
CASE description
  WHEN ISDATE(description) THEN ''
END AS refuseReason
    FROM person

しかし、これはエラーを返します。日付自体が VARCHAR として保存されている場合、最初にそれらを日付に変換してから、ISDATE かどうかを確認する必要がありますか? 私がそれをしたら、それに遭遇したときにテキストを変換しますか?

編集:日時にキャストして試しましたが、同様にエラーが発生し続けます:

SELECT DISTINCT person_id, 
CASE description
  WHEN ISDATE(CAST(OBSVALUE AS DATETIME)) THEN ''
END AS refuseReason
    FROM person
4

2 に答える 2