SQL?server常見(jiàn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換整理大全
前言
在 SQL Server 中,CONVERT
和 PARSE
函數(shù)可以用于將一個(gè)數(shù)據(jù)值從一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型,它們與 CAST
函數(shù)一樣是 SQL Server 中常見(jiàn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)。
CONVERT 函數(shù)
CONVERT
函數(shù)用于將一個(gè)數(shù)據(jù)值從一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型。它的基本語(yǔ)法如下:
CONVERT (data_type [ ( length ) ] , expression [ , style ])
其中,data_type
表示要將 expression
轉(zhuǎn)換成的目標(biāo)數(shù)據(jù)類(lèi)型,包括以下數(shù)據(jù)類(lèi)型及其變體:
binary
char
date
datetime
datetime2
decimal
float
int
money
nchar
ntext
numeric
nvarchar
real
smalldatetime
smallint
smallmoney
text
time
timestamp
tinyint
uniqueidentifier
varbinary
varchar
expression
是要進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換的數(shù)據(jù)值,可以是常量、變量、列名、函數(shù)等。style
是可選參數(shù),表示在將一個(gè)字符類(lèi)型的值轉(zhuǎn)換為日期時(shí)間類(lèi)型時(shí)使用的格式。
以下是一些常見(jiàn)的使用示例:
- 將一個(gè)字符串轉(zhuǎn)換為整數(shù):
SELECT CONVERT(int, '123');
- 將一個(gè)整數(shù)轉(zhuǎn)換為字符串:
SELECT CONVERT(varchar(3), 123);
- 將一個(gè)日期字符串轉(zhuǎn)換為日期類(lèi)型:
SELECT CONVERT(date, '2020-01-01');
- 將一個(gè)日期時(shí)間字符串轉(zhuǎn)換為日期時(shí)間類(lèi)型:
SELECT CONVERT(datetime, '2020-01-01 12:00:00');
需要注意的是,在使用 CONVERT
函數(shù)進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換時(shí),應(yīng)該考慮目標(biāo)數(shù)據(jù)類(lèi)型的精度和長(zhǎng)度,以確保轉(zhuǎn)換的正確性。
PARSE 函數(shù)
PARSE
函數(shù)是 SQL Server 2012 新引入的函數(shù),與 CONVERT
函數(shù)類(lèi)似,可以將一個(gè)數(shù)據(jù)值從一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型。它的基本語(yǔ)法如下:
PARSE (string_value AS data_type [ USING culture ])
其中,string_value
是要進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換的字符串,data_type
表示要將 string_value
轉(zhuǎn)換成的目標(biāo)數(shù)據(jù)類(lèi)型,包括以下數(shù)據(jù)類(lèi)型及其變體:
bigint
bit
date
datetime
datetime2
decimal
float
int
money
numeric
real
smallint
smallmoney
time
tinyint
culture
是可選參數(shù),表示在將一個(gè)字符類(lèi)型的值轉(zhuǎn)換為日期時(shí)間類(lèi)型時(shí)使用的格式。
以下是一些常見(jiàn)的使用示例:
- 將一個(gè)字符串轉(zhuǎn)換為整數(shù):
SELECT PARSE('123' AS int);
- 將一個(gè)字符串轉(zhuǎn)換為日期類(lèi)型:
SELECT PARSE('2020-01-01' AS date USING 'en-US');
需要注意的是,在使用 PARSE
函數(shù)進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換時(shí),應(yīng)該考慮目標(biāo)數(shù)據(jù)類(lèi)型的精度和長(zhǎng)度,以確保轉(zhuǎn)換的正確性。
AST
函數(shù)用于將一個(gè)數(shù)據(jù)值從一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型,是 SQL Server 中一種常見(jiàn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)。
CAST
函數(shù)的語(yǔ)法為:
CAST (expression AS data_type)
其中 expression
表示要進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換的數(shù)據(jù)值,可以是常量、變量、列名或函數(shù)等;data_type
表示要將 expression
轉(zhuǎn)換成的目標(biāo)數(shù)據(jù)類(lèi)型,包括以下數(shù)據(jù)類(lèi)型及其變體:
bit
tinyint
smallint
int
bigint
float
numeric
decimal
money
smallmoney
date
datetime
datetime2
time
char
varchar
text
以下是一些常見(jiàn)的使用示例:
- 將一個(gè)字符串轉(zhuǎn)換為整數(shù):
SELECT CAST('123' AS int);
- 將一個(gè)整數(shù)轉(zhuǎn)換為字符串:
SELECT CAST(123 AS varchar(3));
- 將一個(gè)日期字符串轉(zhuǎn)換為日期類(lèi)型:
SELECT CAST('2020-01-01' AS date);
- 將一個(gè)日期時(shí)間字符串轉(zhuǎn)換為日期時(shí)間類(lèi)型:
SELECT CAST('2020-01-01 12:00:00' AS datetime);
需要注意的是,在使用 CAST
函數(shù)進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換時(shí),應(yīng)該考慮目標(biāo)數(shù)據(jù)類(lèi)型的精度和長(zhǎng)度,以確保轉(zhuǎn)換的正確性,例如,在將小數(shù)轉(zhuǎn)換成整數(shù)時(shí),小數(shù)位將會(huì)被截?cái)唷?/p>
總結(jié)
到此這篇關(guān)于SQL server常見(jiàn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換整理的文章就介紹到這了,更多相關(guān)SQLserver數(shù)據(jù)類(lèi)型轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sql server 2000 數(shù)據(jù)庫(kù)自動(dòng)備份設(shè)置方法
這篇文章主要介紹了sql server 2000 數(shù)據(jù)庫(kù)自動(dòng)備份設(shè)置方法,需要的朋友可以參考下2015-07-07SQL Server2019數(shù)據(jù)庫(kù)之簡(jiǎn)單子查詢(xún)的具有方法
這篇文章主要介紹了SQL Server2019數(shù)據(jù)庫(kù)之簡(jiǎn)單子查詢(xún)的具有方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04sqlserver登陸后報(bào)不能為空不能為null的錯(cuò)誤
sqlserver登陸后報(bào)不能為空的錯(cuò)誤,參數(shù)名:viewinfo (microsoft.sqlserver.managemenmen),這個(gè)情況的解決方法如下2014-07-07SQL Server遍歷表中記錄的2種方法(使用表變量和游標(biāo))
遍歷表一般都要用到游標(biāo)在SQL Server中可以很容易的用游標(biāo)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)遍歷表中記錄,本文將介紹使用表變量和游標(biāo)實(shí)現(xiàn)數(shù)據(jù)庫(kù)中表的遍歷,感興趣的朋友可以了解下本文,或許可以幫助到你2013-02-02Sql?server連接Oracle數(shù)據(jù)庫(kù)完整圖文教程
又一次在項(xiàng)目中用到了在SQLServer添加Oracle鏈接服務(wù)器,索性這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于Sql?server連接Oracle數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01隱藏在SQLServer 字段中的超詭異字符解決過(guò)程
這套系統(tǒng)做了大半年,這個(gè)導(dǎo)入導(dǎo)出還是問(wèn)題不斷,我負(fù)責(zé)的這塊導(dǎo)入導(dǎo)出就是夾在網(wǎng)絡(luò)版和單機(jī)版系統(tǒng)之間,只要任何一邊對(duì)數(shù)據(jù)庫(kù)做了改動(dòng)這個(gè)導(dǎo)入導(dǎo)出就會(huì)失敗。哎,煩心的事不止這些,最近又遇到了一個(gè)非常奇怪的問(wèn)題。2009-10-10N字符在Sql Server字段類(lèi)型中的重要性概述
一般如果用到中文或者其它特殊字符,我就會(huì)使用n開(kāi)頭的類(lèi)型,否則的話(huà)直接使用var開(kāi)頭的,接下來(lái)講解一下N字符在Sql Server字段類(lèi)型中的重要性,感興趣的朋友不妨了解下,或許對(duì)你有所幫助2013-02-02SqlServer2012中LEAD函數(shù)簡(jiǎn)單分析
SQL SERVER 2012 T-SQL新增幾個(gè)聚合函數(shù): FIRST_VALUE LAST_VALUE LEAD LAG,今天我們首先來(lái)簡(jiǎn)單分析下LEAD,希望對(duì)大家有所幫助,能夠盡快熟悉這個(gè)聚合函數(shù)2014-08-08