我必须将值更改为我的数据库。其中一个字符串值可以包含%
符号。
粗略的例子:
UPDATE Mortgage
SET TEXT = 'The interest rate is 7%';
更改未保存在数据库中。如何在SQL Server中删除百分号?
答案 0 :(得分:4)
UPDATE Mortgage SET TEXT = 'The interest rate is 7' + CHAR(37);
37是百分号的小数ASCII code。
答案 1 :(得分:2)
您可以使用自定义转义字符,例如:
UPDATE Mortgage
SET TEXT = 'The interest rate is 7\%' ESCAPE '\';
但是我认为你不需要在这里转义这个字符%
因为它没有特殊含义作为输入值,但你必须要逃避它以防你想在{{1}中使用它查询。
答案 2 :(得分:0)
您是否尝试使用“\”转义角色?
UPDATE Mortgage
SET TEXT = 'The interest rate is 7\%';
答案 3 :(得分:0)
你的架构是什么?
我试过这个&它的工作原理(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;
答案 4 :(得分:-2)
尝试将%:%%
加倍UPDATE Mortgage
SET TEXT = 'The interest rate is 7%%';