溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL Server中怎么利用LIKE使用變量類型

發(fā)布時(shí)間:2021-08-05 15:15:34 來(lái)源:億速云 閱讀:740 作者:Leah 欄目:數(shù)據(jù)庫(kù)

本篇文章為大家展示了SQL Server中怎么利用LIKE使用變量類型,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

如下所示:

CREATE TABLE TEST (   ID        INT IDENTITY(1,1),   NAME      VARCHAR(32) )   INSERT INTO dbo.test SELECT 'abc32';   INSERT INTO dbo.test SELECT 'abd32';   INSERT INTO dbo.test SELECT 'abe32' ;         DECLARE @name  VARCHAR(32); SET @name='ab%'; SELECT * FROM TEST WHERE NAME LIKE @name;     DECLARE @name1 CHAR(32); SET @name1='ab%'; SELECT * FROM dbo.TEST WHERE NAME LIKE @name1;

SQL Server中怎么利用LIKE使用變量類型

如上截圖所示,當(dāng)變量使用VARCHAR類型與CHAR類型時(shí),兩者的輸出結(jié)果完全不一樣。如果對(duì)SQL  SERVER數(shù)據(jù)類型了解不透徹的話,估計(jì)真的對(duì)這個(gè)問(wèn)題感到相當(dāng)?shù)睦Щ?。但是?duì)SQL  Server數(shù)據(jù)類型了解比較深入的人來(lái)說(shuō),這真的是一個(gè)簡(jiǎn)單到不能再簡(jiǎn)單的問(wèn)題。

如下所示,我們?cè)赟QL語(yǔ)句中加入兩句SQL,用DATALENGTH函數(shù)返回任何表達(dá)式的字節(jié)數(shù),你會(huì)發(fā)現(xiàn)VARCHAR類型的變量返回的字節(jié)數(shù)為3,但是CHAR類型的變量的字節(jié)數(shù)為32,其實(shí)原因就在于CHAR類型是定長(zhǎng)的,也就是當(dāng)你輸入的字符小于你指定的數(shù)目時(shí),例如char(32),你輸入的字符長(zhǎng)度小于32時(shí),它會(huì)在后面補(bǔ)空值。當(dāng)你輸入的字符長(zhǎng)度大于指定的值時(shí),它會(huì)截取超出的字符.  所以下面兩種LIKE的邏輯意義不一樣。LIKE 'ab%' 與 LIKE 'abc% '的邏輯完全不同。

SQL Server中怎么利用LIKE使用變量類型

其實(shí)你想從側(cè)面印證一下也很簡(jiǎn)單,如下腳本對(duì)比所示,仔細(xì)理解一下,也許你就想明白了!

DECLARE @name  CHAR(32);  SET @name='ab%';  SELECT * FROM TEST WHERE NAME LIKE @name;    DECLARE @name1 CHAR(3);  SET @name1='ab%';  SELECT * FROM dbo.TEST WHERE NAME LIKE @name1;

SQL Server中怎么利用LIKE使用變量類型

上述內(nèi)容就是SQL Server中怎么利用LIKE使用變量類型,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI