SSMS を介してテーブルに計算列を追加しようとしてVARCHAR(10)
いDATE
ます。
CONVERT(DATE, [charDob])
テーブル デザイナーの SSMS レポートに数式を入力すると、次のようになります。
列 の式の検証中にエラーが発生しました
charDobTyped
。
式を使用する[charDob]
と、期待どおりに「機能」します。つまり、列が正しくバインドされます。また、式CONVERT(DATE, '2001')
は期待どおりに「機能」するため、列を使用するとエラーが発生します。
元の列は でVARCHAR(10)
あり、NULL 値または他の方法で に変換可能な値が含まれていますDATE
。クエリSELECT CONVERT(DATE,charDob) as dob FROM people
は期待どおりに機能します。また、エラーメッセージは「無効な式」に関するものであり、データ変換エラーに関するものではないため、inconvertible がこれを引き起こしているとは思いません。
新しい計算列とダミー値を含むテーブルを既に保存し、データベースに再接続しました。これは、時々発生する奇妙なキャッシュの問題が発生しないようにするためでした。エラーは、永続化されたフラグとは無関係に永続化されます-簡単にオフにできる場合のみ。