當前位置:首頁 » 編程語言 » sql強制類型轉換

sql強制類型轉換

發布時間: 2022-12-21 23:06:27

sql SERVER中強制類型轉換cast和convert的區別

將某種數據類型的表達式顯式轉換為另一種數據類型。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 數據隱性地轉換到其它數據類型的對象

❷ SQL SERVER中強制類型轉換cast和convert的區別

SQL中cast
和convert都是用來將一種數據類型的表達式轉換為另一種數據類型的表達式。CAST

CONVERT
提供相似的功能,只是語法不同。
在時間類型轉化中一般用到convert,因為它比cast多加了一個style,可以轉化成不同時間的格式。
一、使用語法:
1、CAST
(
expression
AS
data_type
)
2、CONVERT
(data_type[(length)],
expression
[,
style])
參數說明:
expression:是任何有效的表達式。
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
數據類型)。
二、腳本示例
select CAST('1234' as int) -- 1234
select CONVERT(int, '1234') -- 1234
select CAST(123.4 as int) -- 123
select CONVERT(int, 123.4) -- 123
select CAST('123.4' as decimal) -- 123
select CONVERT(decimal, '123.4') -- 123
select CAST('123.4' as decimal(9,2)) -- 123.40
select CONVERT(decimal(9,2), '123.4') -- 123.40
declare @Num moneyset @Num = 1234.56
select CONVERT(varchar(20), @Num, 0) -- 1234.56
select CONVERT(varchar(20), @Num, 1) -- 1,234.56
select CONVERT(varchar(20), @Num, 2) -- 1234.5600
CONVERT(VARCHAR(19),GETDATE()) --Dec 29 2016 11:45 PM
CONVERT(VARCHAR(10),GETDATE(),110) --12-29-2016
CONVERT(VARCHAR(11),GETDATE(),106) --29 Dec 16
CONVERT(VARCHAR(24),GETDATE(),113) --29 Dec 2016 16:25:46.635三、convert函數的style參數說明
1、時間style
2、float

real
樣式
3、money

smallmoney
樣式

❸ 在sql裡面String轉int(相互)~~~~要詳細描述

用convert方法:

欄位Aint

欄位Bvarchar(10)

則convert(varchar(10),欄位A)將返回A的varchar類型

同理convert(int,欄位B)將返回B的int型

Example:

//stoiexample

#include<iostream>//std::cout

#include<string>//std::string,std::stoi

(此處空一行)

intmain()

{

std::stringstr_dec="2001,ASpaceOdyssey";

std::stringstr_hex="40c3";

std::stringstr_bin="-10010110001";

std::stringstr_auto="0x7f";

(此處空一行)

std::string::size_typesz;//aliasofsize_t

inti_dec=std::stoi(str_dec,&sz);

inti_hex=std::stoi(str_hex,nullptr,16);

inti_bin=std::stoi(str_bin,nullptr,2);

inti_auto=std::stoi(str_auto,nullptr,0);

(此處空一行)

std::cout<<str_dec<<":"<<i_dec<<"and["<<str_dec.substr(sz)<<"] ";

std::cout<<str_hex<<":"<<i_hex<<' ';

std::cout<<str_bin<<":"<<i_bin<<' ';

std::cout<<str_auto<<":"<<i_auto<<' ';

(此處空一行)

return0;

}

(3)sql強制類型轉換擴展閱讀:

幾種轉換成int類型的方式總結

1、(int)變數名[強制類型轉換]:

這種方式主要用於數字類型之間的轉換,從int類型到long,float,double,decimal類型,可以使用隱式轉換,但是從long類型到int類型就需要使用顯式轉換,也就是該數據類型轉換方式,否則會產生編譯錯誤。

2、int.Parse(string類型變數名)

這種方式是將數字內容的字元串轉為int類型,如果字元串內容為空或者null時,如果字元串內容不是數字,如果字元串內容所表示數字超出int類型可表示的范圍,都拋出異常。

使用該方法切忌的一點就是只能處理字元串內容,而且字元串內容只能在int類型可表示的范圍之內。

❹ SQL Server 對欄位強制轉換類型

這個欄位應該設置成nvarchar,
存的時候用N『aa』
這樣,
輸出的時候就不需要任何操作了。
但是如果本身不是unicode
類型的欄位,
那麼存儲的時候已經亂碼了,
查詢的時候是變不回來的。

❺ 請教sql語句的中數據類型的強制轉換問題

首先char類型的必須是數字 convert(int,[char類型的欄位名])

熱點內容
超凡先鋒配置不行怎麼辦 發布:2025-05-15 23:27:54 瀏覽:530
win7取消加密 發布:2025-05-15 23:26:37 瀏覽:470
不用internet打開ftp 發布:2025-05-15 23:06:00 瀏覽:153
sql字元串取數字 發布:2025-05-15 22:57:45 瀏覽:124
推薦編程課 發布:2025-05-15 22:34:12 瀏覽:618
表拒絕訪問 發布:2025-05-15 22:29:37 瀏覽:978
電腦怎樣解壓文件 發布:2025-05-15 22:25:32 瀏覽:439
dns伺服器怎麼看 發布:2025-05-15 22:17:27 瀏覽:151
3dm的壓縮包 發布:2025-05-15 22:09:23 瀏覽:662
和存儲字長 發布:2025-05-15 21:54:09 瀏覽:515