SQL查询帮助检索带或不带前导零的行

SQL查询帮助检索带或不带前导零的行,sql,sql-server,Sql,Sql Server,有人能帮我做SQL查询吗。我有一张桌子 表:客户 身份证件 名称 订单类型 1. 布瑞特 012 2. 汤姆 081 3. 谢恩 12 4. 比尔 123 5. 大卫 051 6. 里德 81 7. 朔汉 08122 8. 艾米 323 如果OrderType始终为数字,则这将为您提供所需的内容 select * from cust where cast(cast(OrderType as int) as varchar) like '81%' or cast(cas

有人能帮我做SQL查询吗。我有一张桌子

表:客户

身份证件 名称 订单类型 1. 布瑞特 012 2. 汤姆 081 3. 谢恩 12 4. 比尔 123 5. 大卫 051 6. 里德 81 7. 朔汉 08122 8. 艾米 323
如果OrderType始终为数字,则这将为您提供所需的内容

 select *
    from cust
    where cast(cast(OrderType as int) as varchar) like '81%'
     or cast(cast(OrderType as int) as varchar) like '12%'

将其强制转换为int以删除所有前导零并将其强制转换回varchar

此查询将帮助您

SELECT * FROM `customer` WHERE `OrderType` LIKE '%12%' OR `OrderType` LIKE '%81%'

修剪零,选择前两个字符,然后进行比较

选择*
来自客户
在('12','81'中)的左侧(修剪('0'来自OrderType+'!')),2)
  • 编辑

是否存在,以便在您查找类似“20”的内容时可以正常工作。

OrderType是否总是一个数字值,或者它是否可以包含特殊字符或字母?它总是一个数字值。请向我们展示您的尝试。这将带回包含
12
81
的任何记录,不仅仅是一开始。添加一个带有
0312
作为
OrderType
的记录,您将看到。您的语法看起来像MySQL而不是SQL Server?