[英]How do I change the datatype of a newly created column in a view? SQL
我正在使用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 ( 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為整數數據類型。
非常感謝您的任何建議; )
也許是這樣的:
CAST(
(
CASE
WHEN LEFT(ver_klass, 1) <> 'S' AND LEFT(ver_klass, 1) <> 'M'
THEN ver_klass
ELSE NULL
END
) AS INT)
AS ver_rayon
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.