代码之家  ›  专栏  ›  技术社区  ›  TheITGuy

T-SQL-当我选择

  •  1
  • TheITGuy  · 技术社区  · 16 年前

    我的问题是:

    select *
    from fields
    where Comment like '%;%'
    

    你知道吗?

    我添加了下面的表结构和一些insert语句以供参考。虽然现在结果会有所不同

    >/****** Object: Table [dbo].[Fields]  Script Date: 08/10/2010 14:18:56 ******/
    SET ANSI_NULLS ON
    GO
    
    >SET QUOTED_IDENTIFIER ON
    GO
    
    >SET ANSI_PADDING ON
    GO
    
    >CREATE TABLE [dbo].[Fields](
        [ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
        [Comment] [text] NULL,
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    
    >SET ANSI_PADDING OFF
    GO
    
    >INSERT INTO Fields (Comment) VALUES ('Moody''s Corp')
    Go
    
    >INSERT INTO Fields (Comment) VALUES ('0% as core business is ex-growth and hasn''t grown in a decade.')
    Go
    
    >INSERT INTO Fields (Comment) VALUES ('bphivgcofc ;')
    Go
    
    >INSERT INTO Fields (Comment) VALUES ('Newsflow - recommendations on use of paracetamol. Will probably takeoff EPS; in a worst-case but low probability scenario could be a 3% hit to earnings.')
    Go
    

    -------已解决-----

    我想问题出在我用来查询数据库的接口上。这个数据库是外部托管的,所以提供者给了我们一个访问数据的接口,这个接口似乎有问题。

    4 回复  |  直到 14 年前
        1
  •  3
  •   Tom Gullen    16 年前

    你对你的领域感到困惑吗?

    select companyName from fields where companyName like '%;%'
    

    select coment from fields where Comment like '%;%'
    

    也不要使用asterix,选择要返回的字段。这个问题是一个很好的例子,说明你为什么要这样做!使在这些情况下调试更容易。

        2
  •  0
  •   burnall    16 年前


    尝试

    select case when "Moody's Corp, Lowe's Companies, Inc., L'Oreal SA" like '%;%' then 1 end

        3
  •  0
  •   HLGEM    16 年前

    我用select语句和Chryss的语句得到了正确的结果,其中她/他转义了分号。

        4
  •  0
  •   TheITGuy    16 年前

    我认为这是我用来查询数据库的接口中的问题。这个数据库是外部托管的,所以提供者给了我们访问该数据的接口,似乎该接口有问题。

    谢谢大家的帮助和建议。