私はsqlとsql-serverを使用しています
ケースのあるビューに新しい列を作成しました。問題は次のとおりです。新しく作成された列にはデフォルトのデータ型があると思います。
私の質問は、新しい列を作成するときにそのデータ型をどのように定義するのですか? convert と cast を使ってみました。
ALTER VIEW [dbo].[vtbl_dim_vb]
AS
SELECT
vb_key,ver_login,
ver_name,
ver_klass_descr,
CAST(ver_klass AS varchar(40)) + ' ' + ver_klass_descr AS klass_descr_d,
store_code,
store_name,
CASE WHEN LEFT(ver_klass, 1) = 'S' THEN ver_klass ELSE NULL END AS ver_sector,
CASE WHEN LEFT(ver_klass, 1) = 'M' THEN ver_klass ELSE NULL END AS ver_metier,
CASE WHEN LEFT(ver_klass, 1) <> 'S' AND LEFT(ver_klass, 1) <> 'M' THEN ver_klass ELSE NULL END AS ver_rayon
FROM
dbo.tbl_dim_vb
cast コマンドを使用しようとしましたが、うまくいきませんでした:
CAST ( expression AS data_type [ ( length ) ] )
3番目のケースにどのようなオプションがあるか知りたいです。
これは私が試したコードのようです:
CASE WHEN LEFT(ver_klass, 1) <> 'S' AND LEFT(ver_klass, 1) <> 'M' THEN ver_klass ELSE NULL END AS CAST ( ver_rayon AS int(10) )
新しく作成した列 ver_rayon を整数データ型にする必要があります。
アドバイスありがとうございます。)