这个地方:charindex('-', billno, 1)  错了吧。

解决方案 »

  1.   

    应该是这样吧:charindex('-', billno)
      

  2.   

    应该是你的billno这个字段含有没有"-"的数据执行
    Select * from Customers Where charindex('-', billno, 1) =0
    看看有没有数据
      

  3.   

    你好像charindex()函数中的参数设置以问题,应该四 这样的 哦 : 语法
    CHARINDEX ( expression1 , expression2 [ , start_location ] ) 参数
    expression1一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。expression2一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。start_location在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。返回类型
    int注释
    如果 expression1 或 expression2 之一属于 Unicode 数据类型(nvarchar 或 nchar)而另一个不属于,则将另一个转换为 Unicode 数据类型。如果 expression1 或 expression2 之一为 NULL 值,则当数据库兼容级别为 70 或更大时,CHARINDEX 返回 NULL 值。当数据库兼容级别为 65 或更小时,CHARINDEX 仅在 expression1 和 expression2 都为 NULL 时返回 NULL 值。 如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。
      

  4.   

    charindex('-', billno, 1)完全正确的