我正在使用sql和sql-server如何更改视图中新创建列的数据类型? SQL
我在一个案例的视图中创建了一个新列。问题如下:我相信新创建的列有一个默认的数据类型。
我的问题是如何在创建新列时定义新列的数据类型?我已经尝试使用转换和演员。
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 (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是一个整数数据类型。
非常感谢您的任何建议; )
你什么异常? – Arion 2012-04-20 06:51:42
消息156,级别15,状态1,过程vtbl_dim_vb,行19 关键字'AS'附近的语法不正确。 - 那是我得到的错误 – xtarsy 2012-04-20 06:52:36