oracle myintis 轉義

mcxiaoracle發表於2019-11-18

{} 和 ${}區別

#{}在引用時,如果發現目標是一個字串,則會將其值作為一個字串拼接在sql上,即拼接時自動包裹引號

${}在引用時,即使發現目標是一個字串,也不會作為字串處理,拼接在sql時不會自動包裹引號

例如:

所以通常情況下,使用#{}


insert into user values (null,#{name},55); --> insert into user values (null,'fff',55);

insert into user values (null,${name},55); --> insert into user values (null,fff,55);//sql語句錯誤

1

2

而如果需要引用的是一個列名,使用${}


select * from user order by #{cname}; --> select * from user order by 'age';//sql語句錯誤

select * from user order by ${cname}; --> select * from user order by age;

————————————————

版權宣告:本文為CSDN博主「baishancha」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結及本宣告。

原文連結:https://blog.csdn.net/baishancha/article/details/94574127


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2664710/,如需轉載,請註明出處,否則將追究法律責任。

相關文章