【问题标题】:SQL SERVER 'Contains' didn't return the actual resultSQL SERVER 'Contains' 没有返回实际结果
【发布时间】:2013-10-03 09:36:44
【问题描述】:

我的 sql server contains 子句有问题。我想使用以“.”开头的搜索词搜索表内容使用 conatins 子句。

如果我使用模式 '.n' 进行搜索,它会返回所有以 'n' 开头的文件内容,但此查询并未检查模式 '.n'

SELECT    resumetb.ResumeCode
        , resumetb.ResumeOwnerName
        , resumetb.FileLocation
        , resumetb.UploadDate
        , resumetb.UserCode
FROM  tbResumeDetails AS resumetb 
WHERE contains (resumetb.FileContent,'".n*"')

如果我使用模式“.net”进行搜索,查询将返回正确的结果。

SELECT    resumetb.ResumeCode
        , resumetb.ResumeOwnerName
        , resumetb.FileLocation
        , resumetb.UploadDate
        , resumetb.UserCode
FROM  tbResumeDetails AS resumetb 
WHERE contains (resumetb.FileContent,'".net*"')

【问题讨论】:

  • does contains (resumetb.FileContent,'"\.n*"') 解决这个问题吗?
  • 我认为您将%* 混淆了
  • 'Contains'不支持通配符'%',需要使用'*

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

SQL 中的通配符是“%”,而不是“*”(至少在我知道的 SQL 中)。尝试交换符号。

【讨论】:

  • 'Contains'不支持通配符'%',需要使用'*'
猜你喜欢
  • 2011-01-31
  • 1970-01-01
  • 2020-09-15
  • 2017-07-07
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
  • 2011-02-22
  • 1970-01-01
相关资源
最近更新 更多