SQL Serverに、次の2つの列を含むテーブルがありますQuestion_asked
。Response
Response
列はデータ型であり、varchar(500)
列に保持されている質問に対するユーザーの応答を保持しますQuestion_asked
V_age_attr
次のSQLステートメントを使用してビューを作成しました。
select
question_asked, cast(Response as integer)
from
main_table
where
question_asked = 'What is your age'
単純なSQLクエリを実行すると、期待どおりの結果が返されます。ただし、sum /groupbyクエリを使用する場合などの状況では。エラーメッセージが表示されます(実際に表示されるメッセージ):
varchar値「2011-08-1300:00:00」をデータ型intに変換するときに変換に失敗しました
テーブルでmain_table
は、質問の1つは。start_date
であるため、列Response
にはテーブルの日付値が保持されますが、作成したビューには保持されません。
ここでも、selectクエリを実行して、自分のすべての値を確認できますcast(Response as integer)
。これらはすべて整数値です。
私の主な質問は、これがSQL Server 2008 R2の既知の/予想される動作であるかどうか、および/またはビューを作成する以外にこのタイプのテーブルから値のサブセットを取得する別の方法があるかどうかを誰かに教えてもらえますか?
ありがとうございました