【问题标题】:SQL error-how to retreive record with letter AND numberSQL错误-如何检索带有字母AND数字的记录
【发布时间】:2021-03-17 04:21:29
【问题描述】:

你好刚刚开始,但我想知道是否有人遇到过这个问题。我有一张带有人员 ID 的表格(字母和数字的混合 - 人员 ID 是 A123456)

这是我的代码 Select * from personID where ID like '%___456'

但是,当我以这种方式尝试时,它会出现空白 Select * from personID where ID like 'A%______'

更新:我已更新它以反映 % 而不是 & 我的错误

【问题讨论】:

  • & 在 T-SQL 中不是通配符; % 是。快速阅读documentation 会告诉你哪里出错了。

标签: sql sql-server


【解决方案1】:

如果您想要以 456 结尾的 id,正确的模式是:

where ID like '%456'

我不知道& 来自哪里。它不是 SQL 或正则表达式中字符的通配符。

【讨论】:

    【解决方案2】:

    很多不同的方法来实现这一点。

            where ID like '%456'
            OR 
            where right(ID,3) = '456'
    
    
           where ID like 'A%'
           OR 
           LEFT(ID,1) = 'A'
    
    
           where like 'A%' COLLATE SQL_Latin1_General_CP1_CS_AS --uppercase 
           where like 'a%' COLLATE SQL_Latin1_General_CP1_CS_AS --lowercase 
    

    【讨论】:

      【解决方案3】:

      如果您希望所有 personID 都以 Aa 开头,那么:

      Select * from personID where ID like 'A%'
      

      如果您希望所有 personID 仅以 A 开头,那么:

       Select * from personID where ID like 'A%' COLLATE SQL_Latin1_General_CP1_CS_AS
      

      【讨论】:

        猜你喜欢
        • 2012-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多