none
请教sql 语句 RRS feed

  • 问题

  • 查询 某个字段的值 是否 在 "GB/T 1.1-1993;GB/T 1.2-1996;GB/T 1.1-2009" 这句话中出现过,除了把这句话分隔,有其它写法么..谢谢

    2011年6月14日 4:34

答案

  • 你好,

    正确的写法应该是

    select standardNumber,SupersedeCircs from PE_U_Standard where 'GB/T 1.1-1993;GB/T 1.2-1996;GB/T 1.1-2009' LIKE '%'+ standardNumber +'%'
    

    请参考SQL Server LIKE 语法。


    Best Regards,
    Stephanie Lv

    2011年6月15日 6:57
  • 你好,

    你可以使用字符串比较函数判断某个字段的值是否被另一个字符串包含,如 charindex() 或 patindex(),如果没有被包含,返回0.

    如果这些值都是某个表中的某个字段,你还可以使用 LIKE 实现这个效果。

     


    Best Regards,
    Stephanie Lv

    2011年6月14日 8:40

全部回复

  • 你好,

    你可以使用字符串比较函数判断某个字段的值是否被另一个字符串包含,如 charindex() 或 patindex(),如果没有被包含,返回0.

    如果这些值都是某个表中的某个字段,你还可以使用 LIKE 实现这个效果。

     


    Best Regards,
    Stephanie Lv

    2011年6月14日 8:40
  • 这些值 是 某个字段 值,  请教具体写法。谢谢
    2011年6月15日 2:42
  • 你好,
    如果两个字段是在不同的表中,请参考下面的例子:
    SELECT B.ADDRESSLINE1 ,A.NAME FROM TABLEA A INNER JOIN TABLEB B ON 1=1 
     WHERE CHARINDEX(A.COLA, B.COLB) <>0 --用字符串比较函数实现
     --WHERE B.COLB LIKE '%'+A.COLA+'%' --用LIKE实现
    


     如果两个字段在同一个表中,请参考下面的例子:
    SELECT COL1,COL2 FROM TABLEA 
    WHERE CHARINDEX(COL1, COL2) <>0 --用字符串比较函数实现
    --WHERE COL2 LIKE '%'+COL1+'%' --用LIKE实现
    

    Best Regards,
    Stephanie Lv



    2011年6月15日 4:17
  • select standardNumber,SupersedeCircs from PE_U_Standard where standardNumber LIKE '%GB/T 1.1-1993;GB/T 1.2-1996;GB/T 1.1-2009%' 我在查询分析器里面这是这么写的. 但是还是查不出想的效果

     

    正确的结果应该是三条数据

     

     

    2011年6月15日 6:40
  • standardNumber

    GB/T 1.1-1993

    GB/T 1.2-1996

    GB/T 1.1-2009

    2011年6月15日 6:44
  • 你好,

    正确的写法应该是

    select standardNumber,SupersedeCircs from PE_U_Standard where 'GB/T 1.1-1993;GB/T 1.2-1996;GB/T 1.1-2009' LIKE '%'+ standardNumber +'%'
    

    请参考SQL Server LIKE 语法。


    Best Regards,
    Stephanie Lv

    2011年6月15日 6:57
  • 谢谢。。。。。。。。。。。
    2011年6月15日 7:29