我数据库里有个字段,比如叫test
test里保存的是1,2,3,4,
我要在test字段里取1,
这个要如何来写,谢谢

解决方案 »

  1.   

    不太明白你想做什么,不会是把Test字段里是1的都取出来吧,这个是不是太... ...
      

  2.   

    declare @test varchar(20)
    set @test='1,2,3,4,'
    select left(@test,1)
    select substring(@test,1,1)/*
         
    ---- 
    1(所影响的行数为 1 行)     
    ---- 
    1(所影响的行数为 1 行)*/
      

  3.   

    select test from Table where test=1
      

  4.   

    我大概知道你什么意思,我以前写过这样的东西CREATE      function f_hb(@id varchar(100))
    returns varchar(1000)
    as
    begin declare @str varchar(1000) 
    set @str='' 
    select @str=@str+','+cast(UserName as varchar) from UserInfo 
    where charindex(','+cast(UserID as varchar)+',',','+@id+',')>0 
    return stuff(@str,1,1,'')
    endGO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO其中@id是1,2,3,4, 
      

  5.   

    没明白什么意思?select test from Table where test=1??
      

  6.   

    楼主,既然你知道了1这个值,那你不就直接取出来就可以了?
      select test from table where 后面接条件不就可以了吗?
    如果不知道值是1,而你要取那个select top 1 test也可以呀
      

  7.   

    select left(test,1) from 表
      

  8.   

    对字符串操作你可以试下left()函数
    left(test,1)在test字段里取左引开始的一个字符
      

  9.   


    select substring(test,charindex('1',test),2) from table
      

  10.   

    用charindex和substring来取数据。
      

  11.   

    意思就是我有一个表,表中有个字段是test
    这个test字段每行保存的都是1,2,3,4,不等
    我现在要取出来ID为1这行数据里的test里保存为1,的数据,不取2,3,4,举例ID     test
    1      1,2,3,4,
    2      1,2,3,4,5,我只想取test字段中的1,或者其他这个要如何来做啊?谢谢
      

  12.   

    select * from 表  where test like '%1%'
      

  13.   


    test字段里的数据都是这样有规律吗?还是一个字段里只有一个1或者有多个1或者以并不在第一个位子???????
      

  14.   


    数据表中
    select left(test,1) from 表or 程序中string[] ArrayStr = SubStr.Split('|');
            
    ArrayStr[0];
      

  15.   

    select @para as newtest from table1 where charindex(','+test+',',','+@para+',')>0--說明,@para為test列中"1,2,3,4"的其中一個或多個.
    --charindex(','+test+',',','+@para+',')是把"1,2,3,4"變為",1,2,3,4,"這樣為避免取錯.如"12,13,15"不屬於1