SELECT 订单号 from 订单表 where substring(订单号,3,6)='200905' 这句查询报错!

whitefang1978 2009-05-05 04:36:33
在delphi中,用TADOQuery+access写下面的查询:

SELECT 订单号 from 订单表 where substring(订单号,3,6)='200905'
报错,'未指定的错误',用排查法后,发现可能是SUBSTRING不能用在WHERE后面吧.

请高手帮忙看看呀,有什么解决方法吗?
...全文
119 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
whitefang1978 2009-05-06
  • 打赏
  • 举报
回复
MKD的方法我去试了,正确。再次感谢。现结贴。
I_II_I 2009-05-05
  • 打赏
  • 举报
回复
订单号应该为文本格式才行,用like 不用 =
mathsfan 2009-05-05
  • 打赏
  • 举报
回复
呵呵...
帮顶。
yct0605 2009-05-05
  • 打赏
  • 举报
回复

SELECT 订单号 from 订单表 where 订单号 like '200905'

试试这个。
zykaixin 2009-05-05
  • 打赏
  • 举报
回复
估计是Access语法的问题,在Oracle可以这么用
whitefang1978 2009-05-05
  • 打赏
  • 举报
回复
我先试试,谢谢各位,特别是MKD.
MKD 2009-05-05
  • 打赏
  • 举报
回复
不知道你订单号的形式怎么样?200905后可能有,可能无字符,这样:
SELECT 订单号 from 订单表 where 订单号 like '__200905%' or like '__200905'

像xx200905
SELECT 订单号 from 订单表 where 订单号 like '__200905'
MKD 2009-05-05
  • 打赏
  • 举报
回复
SELECT 订单号 from 订单表 where 订单号 like '___200905%' or like '___200905'
lgx0914 2009-05-05
  • 打赏
  • 举报
回复
与substring同等的函数应该是mid;
lgx0914 2009-05-05
  • 打赏
  • 举报
回复
订单号200905,是从开头开始截取的吗 如果是用left也可以
xhj12077021 2009-05-05
  • 打赏
  • 举报
回复
没有用过你这样的写法

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧