在SQL存儲過程中給條件變量加上單引號


在SQL存儲過程中給條件變量加上單引號,不加語句就會出問題,以下就是在存儲過程中將條件where設置成了動態變化的,給where賦完值再和前面的語句拼接,再execute(SQL)

set @where= '(DATEDIFF(day,'''+CONVERT(varchar(100), @d_start, 23)+''',sdate)>=0 and DATEDIFF(day,'''+CONVERT(varchar(100), @d_end, 23)+''',sdate)<=0) and '  
    +'  shopid='''+@shopid+''' and  VenderID in '  
    +' (select vender from tableB where vendertype=''類型'' and shopid='''+@shopid+''')'  

-- 何問起 hovertree.com 

@d_start   @d_end,

@shopid  

 

這三個都是調用存儲過程傳進來的參數,要將這些與varchar類型的拼接在一起就要用每邊3個單引號+變量, eg: where shopid='''+@shopid+''' 這樣寫才可以。

 

推薦:http://www.cnblogs.com/roucheng/p/3541165.html


免責聲明!

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



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