SQL Escape'#'符号

时间:2017-01-04 09:46:51

标签: sql sql-server sql-server-2008 sql-insert

我有一个将数据插入数据库的SQL查询。 以下是我的示例数据:

  • 订单ID: 1
  • 电子邮件: #TestDistribution

但是,当我尝试将OrderIDEmail值插入表格时,SQL Server无法读取“”。

那么,我怎么逃避呢?

我知道撇号可以使用CHAR(29)进行转义,而#会等同于什么?

以下是我的询问:

INSERT INTO orders(orderid,email) VALUES(1,'#TestDistribution')

下面是表格结构:

订单

  • orderid: int
  • email: nchar(150)

服务器没有引发错误,但在检查订单表时,未插入数据。

4 个答案:

答案 0 :(得分:1)

SQL Server 2008使用:

为我工作正常

创建/插入:

CREATE TABLE yourtable
    ([OrderID] int, [Email] nvarchar(99))
;

INSERT INTO yourtable
    ([OrderID], [Email])
VALUES
    (1, '#TestDistribution')
;

选择

SELECT * FROM yourtable

输出:

OrderID Email
1       #TestDistribution

答案 1 :(得分:1)

你有两个'结束

 INSERT INTO orders(orderid,email) VALUES(1,'#TestDistribution') 

答案 2 :(得分:0)

确保您的列类型应为varchar

create table orders(orderid int(30),email varchar(30));
insert into orders value(1,'#TestDistribution');
select * from orders;

答案 3 :(得分:0)

感谢您在此处发布您的答案。这个问题已经解决了。我发现我的服务器中有一些设置会限制特殊字符。

道歉。

谢谢大家!