在SQL中我有一个字符串变量Code
它的数据类似:"102.101.02.03.15","10.2.3.05.101","1003.25"
请问我怎么取出第一个小数点前面的数啊,如前面的分别取出为:"102","10","1003"

解决方案 »

  1.   

    它的数据类似:"102.101.02.03.15","10.2.3.05.101","1003.25"
    --------------------------------------------------
    select left(code,len(code)-charindex('.',code))
      

  2.   

    楼上错了declare @code varchar(20)
    select @code='102.101.02.03.15'
    select left(@code,charindex('.',@code)-1)
      

  3.   

    请问怎样得到字符串中间的几位组成的新串,再线等
    比如123456789我要的是4567
    在VF里用,3Q
      

  4.   

    为什么我在表中查询不行啊select left(Code,charindex('.',Code)-1) 
    from Account
    错误:向 substring 函数传递了无效的 length 参数
      

  5.   

    在VF中应该有MID之类的函数吧!
    MID(Str,StartPos,EndPos,Length)
    类似这样的函数,去查一下!
      

  6.   

    为什么我在表中查询不行啊select left(Code,charindex('.',Code)-1) 
    from Account
    --------------------------------
    charindex('.',Code)-1 为负数了,即在CODE中没有发现小数点,已经是0了,而且又减1,所以成负数了,在LEFT,SUBSTRING,RIGHT等字符串截取函数中长度是不允许为负数的!
      

  7.   

    select col,
    case when charindex('.',col)>0 
    then left(@code,charindex('.',@code)-1) 
    else col end as col2
    from tablename
      

  8.   

    郁闷~~~select code,
    case when charindex('.',code)>0 
    then left(code,charindex('.',code)-1) 
    else code end as code2
    from tablename