【问题标题】:object doesn't contain any of suffixes defined in user-defined table SQL对象不包含用户定义表 SQL 中定义的任何后缀
【发布时间】:2015-09-18 10:37:48
【问题描述】:

伙计们!

我不知道如何选择不包含后缀的对象。 我声明后缀输入表

  @suffixes  dbo.tvp_stringArray READONLY

然后我正在选择我的对象

SELECT [Object]
FROM [myUsers]
WHERE [Object] IS NOT LIKE (SELECT suffix FROM suffixes)

如何给选中的后缀加上'%'?

【问题讨论】:

  • 与附加任何其他字符串的方式相同吗? ... (SELECT '%' + suffix + '%' FROM ...
  • 但是 IS NOT LIKE 不起作用。您必须使用 EXISTS 或 LEFT JOIN / IS NULL

标签: sql sql-server tsql user-defined-types user-defined


【解决方案1】:

正如其他人指出的那样,您可以在使用 LIKE 运算符时将 % 连接到后缀。

但考虑到您只想要不匹配任何后缀的对象这一事实,假设有多个,您可以像这样添加 NOT EXISTS:

SELECT *
FROM MyUsers 
WHERE NOT EXISTS (SELECT 1 FROM Suffixes WHERE MyUsers.Object LIKE '%' + suffix );

SQL Fiddle

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT [Object]
    FROM [myUsers]
    WHERE [Object] IS NOT LIKE (SELECT  Cast(suffix as nvarchar(1000)) + '%' FROM suffixes)
    

    Ref link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2020-05-05
      • 1970-01-01
      相关资源
      最近更新 更多