我必须将值更改为我的数据库。其中一个字符串值可以包含%
符号。INSERT中的百分比符号(%)
粗糙例如:
UPDATE Mortgage
SET TEXT = 'The interest rate is 7%';
的变化不保存在数据库中。我如何逃避SQL Server中的百分比符号
我必须将值更改为我的数据库。其中一个字符串值可以包含%
符号。INSERT中的百分比符号(%)
粗糙例如:
UPDATE Mortgage
SET TEXT = 'The interest rate is 7%';
的变化不保存在数据库中。我如何逃避SQL Server中的百分比符号
您是否尝试用“\”来转义字符?
UPDATE Mortgage
SET TEXT = 'The interest rate is 7\%';
这只是更新列的值''利率是7 \%'' - 这有什么帮助? – onedaywhen 2012-02-17 11:46:23
将escape char设置为'\' – 2012-02-22 08:52:40
没有'SET..ESCAPE'语法! – onedaywhen 2012-02-22 11:00:54
UPDATE Mortgage SET TEXT = 'The interest rate is 7' + CHAR(37);
37为百分比符号十进制ASCII code。
您可以使用自定义的转义字符,例如:
UPDATE Mortgage
SET TEXT = 'The interest rate is 7\%' ESCAPE '\';
但我认为你没有必要逃离这里这个角色%
becouse它没有任何特殊含义作为输入值,但你必须如果您想在LIKE
查询中使用它,请将其转义。
我期待你的答案在这里:) – 2012-02-17 09:19:04
当我运行你的代码时出现错误,“关键字附近的语法错误''ESCAPE''。” (如果我从包含“ESCAPE”的单词中注释掉,它会执行,但显然会增加一个不需要的'\') – onedaywhen 2012-02-17 11:45:28
你的模式是什么?
我想这&它的工作原理(SQL-Server 2008 R2的& SSMS):
CREATE TABLE [dbo].[Mortgage](
[TEXT] [varchar](500) NOT NULL
) ON [PRIMARY]
insert Mortgage (TEXT) values ('The interest rate is 7%');
SELECT TEXT FROM Mortgage;
UPDATE Mortgage SET TEXT = 'The new interest rate is 3%';
SELECT TEXT FROM Mortgage;
尝试加倍%:%%
UPDATE Mortgage
SET TEXT = 'The interest rate is 7%%';
你如何与数据库交互?使用IDE /客户端还是自行编写的软件? – 2012-02-17 09:11:57
这是正常的SQL Server查询。它应该正常工作。 – 2012-02-17 09:14:23
[我如何在T-SQL中跳过百分比符号?]的可能重复(http://stackoverflow.com/questions/7191449/how-do-i-escape-a-percentage-sign-in-t-sql ) – 2012-02-17 09:16:18