Access 中查询的问题
我用这个语句查询
SELECT [t1].№, [t1].ID, [t1].telephone
FROM [SELECT TD.№, TD.ID, replace(TD.telephone№,'-','') as telephone
FROM TD]. AS t1
WHERE (([t1].telephone) like "09049818094");
可是会出现类型错误。 因为数据库中的电话号码含有—字符,我想读取时用relace替换,然后再查询
各位有没有什么好办法。在数据库中是090-498-18094 我想用输入09049818094就能查到数据。
搞了一个星期了,还没搞出来,多谢了
问题点数:100、回复次数:4Top
1 楼wangtiecheng(不知不为过,不学就是错!)回复于 2006-03-20 21:39:40 得分 50
--可能是空值的原因,使用nz()函数,另外,like的串两头是否需要加*根据需要而定
SELECT [t1].№, [t1].ID, [t1].telephone
FROM [SELECT TD.№, TD.ID, replace(nz(TD.telephone№,''),'-','') as telephone
FROM TD]. AS t1
WHERE (([t1].telephone) like "*09049818094*");
Top
2 楼wwwwb()回复于 2006-03-21 08:01:20 得分 30
没有看到表及要求结果:TRY
SELECT [t1].№, [t1].ID, [t1].telephone
FROM [SELECT TD.№, TD.ID,
iif(isnull(TD.telephone№),replace(nz(TD.telephone№,''),'-',''),
iif(instr(TD.telephone№,'-')>0,replace(TD.telephone№,'-',''),
TD.telephone№))
as telephone
FROM TD]. AS t1
WHERE (([t1].telephone) like "*09049818094*");
Top
3 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-03-21 09:04:11 得分 20
SELECT [t1].[№], [t1].ID, [t1].telephone
FROM (SELECT TD.[№], TD.ID, replace(TD.telephone№,'-','') as telephone
FROM TD) AS t1
WHERE (([t1].telephone) like "*09049818094*");
或者干脆
SELECT TD.[№], TD.ID, replace(TD.[telephone№],'-','') as telephone
FROM TD
WHERE replace([telephone№],'-','') like "*09049818094*"Top
4 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-03-21 09:04:29 得分 0
关于此主题请参考以下文章(不要只看标题,请认真仔细地察看上述文章以及相关的评论):
在ACCESS查询设计视图下写SQL语句总提示“语法错误 (操作符丢失) 在查询...
http://access911.net/index.asp?u1=a&u2=72FAB11E15DCEDF3
----------------------- 911 社区回帖个人签名 start -----------------------
http://access911.net/csdn 无须注册提供附件上传功能,如果你提问的时候有附件请到上述地址上传并将链接复制粘贴。
http://access911.net 用 7 年时间整理了大量有关 Access 的原创资料,请有空的时候多用文章搜索功能
如果您有兴趣加入ACCESS编程的专项研究可以来QQ群“ACCESS上海研究班”看看,加入的方法请看这里《个性化的access911.net(七)QQ 群加入规则(专门讨论 ACCESS 的 )》
http://access911.net/?kbid;72FAB01E16DCECF3
----------------------- 911 社区回帖个人签名 end -----------------------
向上看呦!Top




