我正在使用 sql 和 sql-server
我在带有案例的视图中创建了一个新列。问题如下:我相信新创建的列具有默认数据类型。
我的问题是如何在创建新列时定义它的数据类型?我尝试过使用转换和转换。
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 ) ] )
我想知道我对第三种情况有什么选择。
这就是我尝试过的代码的样子:
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 是整数数据类型。
非常感谢您的任何建议;)