sql裡的cast和convert,型別轉換函式

2021-05-09 16:22:41 字數 1603 閱讀 4525

將某種資料型別的表示式顯式轉換為另一種資料型別。cast 和 convert 提供相似的功能。

語法使用 cast:

cast ( expression as data_type )

使用 convert:

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

引數expression

是任何有效的 microsoft sql server" 表示式。有關更多資訊,請參見表示式。

data_type

目標系統所提供的資料型別,包括 bigint 和 sql_variant。不能使用使用者定義的資料型別。有關可用的資料型別的更多資訊,請參見資料型別。

length

nchar、nvarchar、char、varchar、binary 或 varbinary 資料型別的可選引數。

style

日期格式樣式,藉以將 datetime 或 smalldatetime 資料轉換為字元資料(nchar、nvarchar、char、varchar、nchar 或 nvarchar 資料型別);或者字串格式樣式,藉以將 float、real、money 或 smallmoney 資料轉換為字元資料(nchar、nvarchar、char、varchar、nchar 或 nvarchar 資料型別)。

將某種資料型別的表示式顯式轉換為另一種資料型別。有關可用的資料型別的更多資訊,請參見資料型別。日期格式樣式,藉以將 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 資料隱性地轉換到其它資料型別的物件。

字串----〉〉〉時間

時間---〉〉〉字串

mysql資料類轉換 cast和convert

mysql 的cast 和convert 函式可用來獲取乙個型別的值,並產生另乙個型別的值。兩者具體的語法如下 mysql中cast用法 cast value as type mysql中convert用法 convert value,type type的型別有 value 描述date 日期,格式...

SQL中CAST和CONVERT的區別

如果sql server程式設計師想將表示式從一種換為另一種,他可以從sql server 7和2000中自帶的兩種功能中做出選擇。在儲存過程或其他情況下,我們常常需要將資料從datetime型轉化成varchar型 convert和cast就可以用於這種情況。由於sql server提供兩種功能,...

SQL轉換函式CAST 和 CONVERT

cast 語法 cast expression as data type length convert 語法 convert data type length expression style expression 任何有效的表示式 data type 目標資料型別。這包括 xml bigint 和...