Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查找缩写值_Sql_Sql Server_Sql Like - Fatal编程技术网

SQL查找缩写值

SQL查找缩写值,sql,sql-server,sql-like,Sql,Sql Server,Sql Like,因此,我声明了一个表: DECLARE @VTable TABLE (ColtoAdj VARCHAR(50),HeadlineDescription VARCHAR(50),HeadlineDescriptionGroup VARCHAR(50)); INSERT INTO @VTable VALUES ('Neopla','Neoplasia','Cancer'); INSERT INTO @VTable VALUES ('Metasta','Metastases','C

因此,我声明了一个表:

  DECLARE @VTable TABLE (ColtoAdj VARCHAR(50),HeadlineDescription 
  VARCHAR(50),HeadlineDescriptionGroup VARCHAR(50));

  INSERT INTO @VTable VALUES ('Neopla','Neoplasia','Cancer');
  INSERT INTO @VTable VALUES ('Metasta','Metastases','Cancer');
  INSERT INTO @VTable VALUES ('CES','CES','Cauda Equina');
  INSERT INTO @VTable VALUES ('CES-I','CES-I','Cauda Equina');
然后在主表上的Outter应用程序中使用,以查找headlinedescription和headlinedescriptiongroup

  OUTER APPLY (
  SELECT TOP 1
  vt.ColtoAdj,
  Vt.HeadlineDescription,
  Vt.HeadlineDescriptionGroup
  FROM @VTable AS vt
  WHERE cmd.Headline LIKE ('%' + vt.ColtoAdj + '%')
对于我的大多数数据来说,它工作得很好,因为很多vt.ColtoAdj查找词都是唯一的,比如有连字符等,所以只能被拉取。问题在于CES值。这可以是255个字符标题中的任意位置。因此,它目前正在收集诸如“大括号”之类的东西,并错误地添加它们。我试着为它插入两个值“CES”或“CES”,只是为了得到缩写,但这仍然抓住了以它结尾或开头的单词。表中是否有这个值,我可以让它自己查找3个字母,但也可以搜索其他字母的完整单词


这可能是一个“否”的情况,只是因为它是一个类似的函数,并且使用单词查找,您不能总是保证100%的准确性,但我想我会检查一下

如果要查找单词边界,并且单词由空格限定,则可以使用:

WHERE ' ' + cmd.Headline + ' ' LIKE '% ' + vt.ColtoAdj + ' %'

我只能想一个针对每个案例的解决方案:

WHERE 
(
    (cmd.Headline LIKE ('%' + vt.ColtoAdj + '%') and vt.ColtoAdj<>'CES')
    OR
    (cmd.Headline='CES' and vt.ColtoAdj='CES')
)
在哪里
(
(cmd.Headline类似('%'+vt.ColtoAdj+'%')和vt.ColtoAdj'CES')
或
(cmd.Headline='CES'和vt.ColtoAdj='CES')
)

Ahhh谢谢。我相信这已经成功了。很简单,但我想不起来。