[轉] SQL SERVER拼接字符串(字符串中有變量)


本文轉自:http://blog.csdn.net/sikaiyuan2008/article/details/7848926

SQL SERVER拼接字符串(字符串中有變量)對我來說是一個難點,總是忘記規律,寫下來以幫助記憶。

一、拼接字符串(整個字符串不分割)步驟:

首先在字符串的前后加單引號;

字符串中的變量以'''+@para+'''在字符串中表示;

若在執行時存在類型轉換錯誤,則應用相應的類型轉換函數,對變量進行類型轉換(如cast()函數)。

示例均采用northwind數據庫。

示例一:

包含SQL拼接字符串的存儲過程:

Create Procedure Test
 @TestID  int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='''+cast(@TestID as varchar)+''''
print @s
exec(@s)

執行:

exec  Test  @TestID=1

執行結果:

 

二、拼接字符串(字符串分割)步驟:

將不包含變量的字符串前后用單引號括起來,

不含變量的字符串與變量用+進行拼接

變量用''''+@para+''''進行表示(@para為變量名);

若執行存儲過程時出現類型轉換錯誤,則采用相應的類型轉換函數進行轉換。

示例采用northwind數據庫。

示例二:

包含SQL 字符串的存儲過程:

Create Procedure Test
 @TestID  int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='+''''+cast(@TestID as varchar)+''''

print @s
exec(@s)

執行:

exec  Test  @TestID=1

執行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM