【问题标题】:How to: substring of a column in a list如何:列表中列的子字符串
【发布时间】:2014-09-30 01:59:33
【问题描述】:

所有。我有一个 SQL Server 表,其中有一列名为“名称”。如果“名称”减去最后一个字符在列表中,我想查询行。 这是我的 SQL 查询,但它告诉我错误:传递给 LEFT 或 SUBSTRING 函数的长度参数无效。

select * from MyTable where substring(Name, 1, len(Name) - 1) in ('ABC', 'DEF')

【问题讨论】:

    标签: sql sql-server substring


    【解决方案1】:

    做这样的事情怎么样?

    select t.*
    from mytable t
    where name like 'ABC_' or name like 'DEF_';
    

    【讨论】:

      【解决方案2】:

      你应该先检查你的“名字”的长度,如果名字是空的,substring(Name, 1, len(Name) - 1) 会报错。

      【讨论】:

        【解决方案3】:

        我找到了根本原因,因为“Name”列的某些值是空的,所以len(Name)在执行过程中会抛出错误。

        【讨论】:

          猜你喜欢
          • 2023-03-28
          • 1970-01-01
          • 2012-10-23
          • 1970-01-01
          • 2021-04-21
          • 2021-12-19
          • 2021-12-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多