通过以下SQL语句创建的视图SELECT     b.FDetailID AS 表体行号, a.FFumigation AS 熏蒸, a.FOrderDate AS 下单日期, a.Fplanrecdate AS 接单日期, b.FMaterialReadyNote AS 材料到货, 
                      a.FBillNO AS PINO, a.FCustomerID AS 客户编号, a.FInstancy AS 是否加急, b.OrderType AS 下单类型, b.FModelNO AS 货号, b.FCover AS 型号, 
                      b.FStyle AS 规格简称, b.FUnit AS 单位, b.FQty AS 数量, a.FCountry AS 客户, RIGHT(a.FBillNO, LEN(a.FBillNO) - 5) AS 订单号, a.FDeliveryDate AS 交期, 
                      b.FNOTE AS 附注内容, a.FCustDeliDate AS 客户要求交期, a.FContainer AS 柜数, a.FLCLastDate AS LC最迟装运期, a.FTradMark AS 商标备注, 
                      a.FOtherNote AS 其它备注, b.FSetRate AS 折套系数, b.FExposedWood AS 出木, b.FInventory AS 库存, b.FFirstProduction AS 首件, 
                      b.FMdays AS 开发包制天数, b.FQCNotes AS 审核备注, b.FHardwareNote AS 审核说明, b.FExportTimes AS 导出次数, 
                      b.FChangeStatus AS 变更类型
FROM         dbo.Z_HZ_SEORDER_ENTRY AS a INNER JOIN
                      dbo.Z_HZ_SeOrder_Entry_Set AS b ON a.FBillNO = b.FBIllNO现在我执行
select * from V_SEORDER 时,
报错:
消息 536,级别 16,状态 2,第 1 行
传递到 RIGHT 函数的长度参数无效。请问怎么解决?

解决方案 »

  1.   

    RIGHT(a.FBillNO, LEN(a.FBillNO) - 5) a.FBillNO这个位数不够?
      

  2.   

    检查里面的数据,看是不是a.FBillNO有长度小于5了。导致后面的参数小于0了
      

  3.   

    RIGHT(a.FBillNO, LEN(a.FBillNO) - 5) 长度不够 或者是列名错误
      

  4.   

    RIGHT(a.FBillNO, LEN(a.FBillNO) - 5)具体分析下这句话
    估计是LEN(a.FBillNO) - 5长度太小了。。小于零