• 締切済み

別名フィールドの型を指定

例えば以下のようなSQL文からビューを作成した場合 SELECT CASE WHEN start_date IS NULL THEN '2010-01-01' WHEN start_date = '0000-00-00' THEN '2010-01-01' ELSE start_date END AS end_date FROM table_a start_dateフィールドはdate型ですが、別名が設定されるend_dateはvarchar型になってしまいます。 これをdate型にしてビューを作成する方法はありませんでしょうか。

みんなの回答

  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

view 定義時に、create table のときと同様のカラムリストもつけて、カラム名やカラム型を設定できます。 後方のselect 文では、同じ名のaliasつけることと、対応カラムのカラム型が同じになるようにします。 create view `view_name` ( カラム名1 カラム型 ) as select (case 式) as カラム名1 ... または、select 文のほうで cast で型指定しておくとか。

noname#207526
noname#207526
回答No.1

型は気にせずとも、動的に指定されます。SQLは動的型システムなのでそうなります。 気になるなら、変換用の関数を使うと良いです。

関連するQ&A