程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sql裡的cast和convert,類型轉換函數

sql裡的cast和convert,類型轉換函數

編輯:關於SqlServer

將某種數據類型的表達式顯式轉換為另一種數據類型。CAST 和 CONVERT 提供相似的功能。

語法

使用 CAST:

CAST ( expression AS data_type )

使用 CONVERT:

CONVERT (data_type[(length)], expression [, style])

參數

expression

是任何有效的 Microsoft SQL Server" 表達式。有關更多信息,請參見表達式

data_type

目標系統所提供的數據類型,包括 bigintsql_variant。不能使用用戶定義的數據類型。有關可用的數據類型的更多信息,請參見數據類型

length

ncharnvarcharcharvarcharbinaryvarbinary 數據類型的可選參數。

style

日期格式樣式,借以將 datetimesmalldatetime 數據轉換為字符數據(ncharnvarcharcharvarcharncharnvarchar 數據類型);或者字符串格式樣式,借以將 floatrealmoneysmallmoney 數據轉換為字符數據(ncharnvarcharcharvarcharncharnvarchar 數據類型)。


 
將某種數據類型的表達式顯式轉換為另一種數據類型。有關可用的數據類型的更多信息,請參見數據類型。日期格式樣式,借以將 datetime 或 smalldatetime 數據轉換為字符數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字符串格式樣式,借以將 float、real、money 或 smallmoney 數據轉換為字符數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。當轉換為字符數據時輸出。
 
  • 隱性轉換對於用戶是不可見的。

    SQL Server 自動將數據從一種數據類型轉換成另一種數據類型。例如,如果一個 smallint 變量和一個 int 變量相比較,這個 smallint 變量在比較前即被隱性轉換成 int 變量。

  • 顯式轉換使用 CAST 或 CONVERT 函數。

CAST 和 CONVERT 函數將數值從一個數據類型(局部變量、列或其它表達式)轉換到另一個數據類型。例如,下面的 CAST 函數將數值 $157.27 轉換成字符串 ''$157.27'':CAST ( $157.27 AS VARCHAR(10) )
CAST 函數基於 SQL-92 標准並且優先於 CONVERT。

當從一個 SQL Server 對象的數據類型向另一個轉換時,一些隱性和顯式數據類型轉換是不支持的。例如,nchar 數值根本就不能被轉換成 image 數值。nchar 只能顯式地轉換成 binary,隱性地轉換到 binary 是不支持的。nchar 可以顯式地或者隱性地轉換成 nvarchar

當處理 sql_variant 數據類型時,SQL Server 支持將具有其它數據類型的對象隱性轉換成 sql_variant 類型。然而,SQL Server 並不支持從 sql_variant 數據隱性地轉換到其它數據類型的對象。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved