查询语句中包含[]()<>等符号时怎么解决(20分)

  • 主题发起人 主题发起人 iwantdown
  • 开始时间 开始时间
I

iwantdown

Unregistered / Unconfirmed
GUEST, unregistred user!
例如在access数据库中有一列名称为:单价(元)
查询语句为:select * from table order by 单价(元);
再例如 编号中有一数据为 2008[字]856号
查询语句为:select * from table where 编号 like "2008[字]856号";
两个查询均会提示出错,因为语句中包含[]()&lt;&gt;等符号
请问怎么解决
 
OFFICE2003测试通过
select * from table where 编号 = "2008[字]856号"; 或者
SELECT * FROM tab WHERE 编号 like "2008*[字]*856号" order by '单价(元)'
 
谢谢你的解答
可是我用delphi连接access2003没有通过
1、使用 order by '单价(元)' 查询,语句不会出错,可是排列顺序不正确,你可以试一下
例如:12,32,21,24,17可能排列后就是 21,24,32,17,12
2、编号 = "2008[字]856号"可以使用,但模糊查询时[是不被认可的。

可能我没说清楚问题
我先解决符号在查询语句中怎么解决?
 
字段 don't 使用 china
 
order by出错,看看你说的那个字段的数据类型是不是出问题了呵呵:)
 
我都试验过了
希望有人能帮忙解决一下
 
SELECT * FROM tab WHERE 编号 like "2008*字*856号" order by '单价(元)'
 
首先声明我用delphi连接access,*在查询语句中不好用,必须用%
我用SELECT * FROM tab WHERE 编号 like "2008%[字]%856号" order by '单价(元)'
2008字856号 这条记录也能被查出.

order by数据没有问题,排列数字会不正常,排列文字问题更大,同样的文字都能排错
 
SELECT *
FROM tab
WHERE 编号 like "%[字]%" // []用全角即可解决你的问题
ORDER BY [单价(元)];
 
解决你这个问题比解决人家200分的问题都难,晕死~~~~~
20.......
 
后退
顶部