簡體   English   中英

如何更改視圖中新創建的列的數據類型? 的SQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM