【问题标题】:How to I use the LIKE operator?如何使用 LIKE 运算符?
【发布时间】:2020-11-13 22:35:26
【问题描述】:

我正在使用 LIKE 运算符进行查询,但它不起作用。

当我运行查询时,没有结果,但它显示“查询已成功执行”。

有人知道为什么吗? 这就是我所做的:

select Pr.nomPro, Pe.fechaPedido
from superVentas.dbo.Pedido Pe
inner join superVentas.dbo.PedidoDetalle PD on Pe.nroPed=PD.nroPed
inner join superVentas.dbo.Productos Pr on Pr.codPro=PD.codPro
where month(Pe.fechaPedido)=8 and Pr.nomPro like 'A%' and Pr.nomPro like 'T%'
order by Pr.nomPro
go

【问题讨论】:

  • “但它不起作用” “不起作用”是什么意思? like 'T&'like 'T%' 的印刷错误吗?
  • 请解释您要做什么,以及您得到的结果有什么问题。
  • Pr.nomPro like 'A%' and Pr.nomPro like 'T&' 应该是(Pr.nomPro like 'A%' OR Pr.nomPro like 'T%')
  • @Richard "查询成功执行" 就是这个意思。它运行并正确运行。您应该添加详细信息,例如“我有应该匹配 LIKE A%X 记录和应该匹配 LIKE T%Y。我预计 Z 记录总数,但得到了 0。”

标签: sql sql-server database sql-like


【解决方案1】:

一个问题是列值不能同时以“A”和“T”开头,如果这是您要查找的内容,您可以使用 OR 运算符。此外,“T&”是搜索通配符的错误方式。

select 
    Pr.nomPro
    , Pe.fechaPedido
from 
    superVentas.dbo.Pedido Pe
inner join 
    superVentas.dbo.PedidoDetalle PD on Pe.nroPed = PD.nroPed
inner join 
    superVentas.dbo.Productos Pr on Pr.codPro = PD.codPro
where 
    month(Pe.fechaPedido) = 8 
    and 
    (
        Pr.nomPro like 'A%' 
        or 
        Pr.nomPro like 'T%'
    )
order by Pr.nomPro
go 

【讨论】:

  • 记住 AND 在 OR 之前。
猜你喜欢
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 2013-01-19
  • 2018-03-09
  • 2017-09-29
  • 1970-01-01
相关资源
最近更新 更多