熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

SQL入門:用戶定義類型

2013-11-15 14:39:06  來源: SQL Server 

  單值類型是與現存類型(它的類型)共享其內部表示的用戶定義數據類型但對於大多數運算來說認為單值類型是獨立和不兼容的例如您可能想定義年齡類型重量類型以及高度類型所有這些類型都有相當不同的語義但都使用內部數據類型 INTEGER 作為它們的內部表示
  
  下列示例說明了命名為 PAY 的單值類型的創建
  
   CREATE DISTINCT TYPE PAY AS DECIMAL() WITH COMPARISONS
  
  雖然 PAY 有與內部數據類型 DECIMAL()相同的表示但還是認為它是與 DECIMAL()或任何其他類型不可比的獨立類型它只能與相同的單值類型比較並且會影響到按 DECIMAL 使用的運算符和函數將在此不適用例如具有 PAY 數據類型的值不能與具有 INTEGER 數據類型的值相乘因此您必須編寫只應用於 PAY 數據類型的函數
  
  使用單值數據類型可限制偶然錯誤例如如果將 EMPLOYEE 表的 SALARY 列定義為 PAY 數據類型則不能將該列添加至 COMM即使它們的源類型相同
  
  單值數據類型支持類型轉換源類型可以轉換為單值數據類型單值數據類型也可以轉換為源類型例如如果將表 EMPLOYEE 的 SALARY 列定義為 PAY 數據類型則下列示例將不會在比較運算符處出錯
  
   SELECT * FROM EMPLOYEE
   WHERE DECIMAL(SALARY) =
  
  DECIMAL(SALARY)返回一個十進制數據類型相反地數字數據類型可以轉換為 PAY 類型例如可以使用 PAY() 來轉換數字 的類型

From:http://tw.wingwit.com/Article/program/SQLServer/201311/22117.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.