【问题标题】:How to use like operator to find patterns where part of operand is a parameter如何使用 like 运算符查找部分操作数是参数的模式
【发布时间】:2016-03-15 18:48:14
【问题描述】:

我的表格有一个名为 project 的文件,它可以以任何字母、中间的一些数字、破折号和当前财政年度开头。 我想搜索名称以 p 开头并以当前年份结尾的所有项目。 我有一个函数将当前会计年度返回为 int。 我怎么能做到这一点。 我想要类似的东西:

declare @Year int;
set @Year = the output from CurrentFiscalYear function;
select
project
from MyTable
where project like 'P%-@Year'

【问题讨论】:

    标签: sql-server wildcard sql-like


    【解决方案1】:

    使用+ 运算符将变量附加到字符串。由于@Year 属于Int 类型,您需要先将其转换为Varchar,然后再附加'P%-'

    试试这个

    declare @Year int;
    set @Year = the output from CurrentFiscalYear function;
    select
    project
    from MyTable
    where project like 'P%-'+cast(@Year as varchar(4))+'
    

    【讨论】:

      【解决方案2】:
      WHERE project like 'P%-' + @Year
      

      我相信这是 sql server 中的正确形式

      【讨论】:

        猜你喜欢
        • 2017-02-11
        • 2012-06-11
        • 2016-02-15
        • 2017-08-06
        • 2014-03-19
        • 1970-01-01
        • 2020-11-30
        • 1970-01-01
        • 2014-06-09
        相关资源
        最近更新 更多