SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO between '外发0909982'and'外发0909982'查询出来没数据,数据是肯定有的。SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO LIKE '%0909982%'这样又有。不改字段类型,用第一种方法能查找出数据吗?用什么方法。

解决方案 »

  1.   

    有KT.KINNO='外发0909982'这条数据吗?
      

  2.   

    KT.KINNO between '外发0909982'and'外发0909982' 这个不就是 KT.KINNO=‘外发0909982’吗?
    KT.KINNO LIKE '%0909982%'这个是like啊。明显和上面那条语句的查询条件不一致的,你的字段里没有‘外发0909982’这条吧,或许有 XX0909982XX这样的数据,所以第一条检索不出,第二条可以
      

  3.   

     charindex('外发0909982',)>0 -- 试试
      

  4.   

    可以肯定有那天数据,SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO ='外发0909982' 
    SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO LIKE '%0909982%' 查询到的数据TDATE                   KINNO                                    CODE                                                         BDESC                                                                                                                                                                                                    UNIT                 QTY                                     LOCDESC                                                                                                                                                          LOTNO                                    GDH
    ----------------------- ---------------------------------------- ------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- --------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- ------------------------------(0 行受影响)TDATE                   KINNO                                    CODE                                                         BDESC                                                                                                                                                                                                    UNIT                 QTY                                     LOCDESC                                                                                                                                                          LOTNO                                    GDH
    ----------------------- ---------------------------------------- ------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- --------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- ------------------------------
    2011-02-24 00:00:00.000 外发0909982                                POA00028900                                                  1005 底座¢155*115.2MM   ABS(AG15A1)   本色                                                                                                                                                                   PCS                  -576.0000                               塑胶仓                                                                                                                                                              1101004-05                               1101004
    2011-02-24 00:00:00.000 外发0909982                                POA00028900                                                  1005 底座¢155*115.2MM   ABS(AG15A1)   本色                                                                                                                                                                   PCS                  -560.0000                               塑胶仓                                                                                                                                                              1101004-06                               1101004
    2011-02-24 00:00:00.000 外发0909982                                POA00029100                                                  1005 杯座大身¢147.3*75.5MM   ABS(AG15A1) 本色                                                                                                                                                                  PCS                  -146.0000                               塑胶仓                                                                                                                                                              1101004-07                               1101004(3 行受影响)
      

  5.   

    KT.KINNO ='外发0909982'  也就是说这个字段的值就是  外发0909982  而不是说  外发0909982 在其中!
      

  6.   

    ltrim(rtrim(KT.KINNO)) = '外发0909982'
      

  7.   

    如果有外发0909982这条 用between '外发0909982' and  '外发0909982'  也能检索出来的
      

  8.   

    用LIKE '%0909982' 和用LIKE '外发0909982%' 试试,看看是哪个的问题
      

  9.   

    在条件前面加了一个N就行了
    SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO between N'外发0909982' and N'外发0909982'谢谢各位了
      

  10.   

    震惊的意思  OH MY god忽略了N'编码问题  
    罪过
      

  11.   

    还有一问题多种条件查询呢?SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO between N'外发0909982'AND N'外发0909982' 这个能如果我还有一个条件呢?
    KT.LOC=S01也是用同只用方法嘛?between能在一条SQL语句用两次吗?SELECT  KT.TDATE,KT.KINNO,KT.CODE,KT.BDESC,KT.UNIT,KT.QTY,LOC.LOCDESC,KT.LOTNO,KTUDF.GDH FROM KT,KTUDF,LOC WHERE KT.ITEMNO=KTUDF.ITEMNO AND KT.KINNO=KTUDF.KINNO AND KT.LOC=LOC.LOC AND KT.KINNO between N'外发0909982'AND N'外发0909982' AND KT.LOC between N'S01' AND N'S01'这样的SQL不对啊 
      

  12.   

    AND (KT.KINNO between N'外发0909982'AND N'外发0909982') AND (KT.LOC between N'S01' AND N'S01')