如何在SQL Server的存储过程中转义字符串,以便在LIKE
表达式中使用它是安全的.
假设我有一个NVARCHAR
像这样的变量:
declare @myString NVARCHAR(100);
Run Code Online (Sandbox Code Playgroud)
我想在LIKE
表达式中使用它:
... WHERE ... LIKE '%' + @myString + '%';
Run Code Online (Sandbox Code Playgroud)
如何在T-SQL中转义字符串(更具体地说,对LIKE
模式匹配有意义的字符,例如%
或?
),以便以这种方式使用它是安全的?
例如,给定:
@myString = 'aa%bb'
Run Code Online (Sandbox Code Playgroud)
我想要:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
Run Code Online (Sandbox Code Playgroud)
匹配'aa%bb'
,'caa%bbc'
但不是'aaxbb'
或'caaxbb'
.
我想在SQL Server2012中创建一个表,其列名包括括号as
create table temp_sp
(
logtime datetime,
vcs_api varchar,
L3(S1)Status varchar,
L3(S2)Status varchar,
beam_current real,
beam_energy real,
st1_vs1_bag1_rb real,
ring_avg_pressure real
)
Run Code Online (Sandbox Code Playgroud)
但是当我使用括号时L3(S1)Status
,L3(S2)Status
我得到一个错误
'('.'''''''或'''附近的语法不正确.**
怎么解决?