1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

使用 LIKE 查询时遇到的奇怪事情

本帖由 不学无术2006-02-16 发布。版面名称:后端开发

  1. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    今天写了一条应用于 Access 的 SQL 语句:

    "SELECT Tags.Title, (SELECT COUNT(*) FROM Blinkmarks WHERE Blinkmarks.Tags LIKE '%{' & Tags.Title & '}%') AS BlinkmarkCounter FROM Tags;"

    执行的时候得不到预期的效果,无论如何 BlinkmarkCounter 返回都是 0。

    在 Access 中使用“查询”设计来执行上面的 SQL ,结果一样。

    后来换成:

    "SELECT Tags.Title, (SELECT COUNT(*) FROM Blinkmarks WHERE Blinkmarks.Tags LIKE '*{' & Tags.Title & '}*') AS BlinkmarkCounter FROM Tags;"

    即将 % 通配符换成了 * 通配符,可以得到预期效果。

    将语句复制到 ASP 页面中,又得不到执行效果,重新将 * 改回 % ,竟然可以了。极度崩溃中!

    :(
     
  2. srsman

    srsman Active Member

    注册:
    2005-11-08
    帖子:
    1,920
    赞:
    6
  3. wm_chief

    wm_chief New Member

    注册:
    2005-09-05
    帖子:
    17,890
    赞:
    46
  4. Tameway

    Tameway New Member

    注册:
    2005-09-06
    帖子:
    1,286
    赞:
    8
    为什么?