select stu_name
from stu_info
where stu_class like '____01__'我想找出stu_class子段中含有某字符(如01)的纪录,但这些字符是变化的,不一定是01,
所以我在like中放了一变量@a,
但我遇到一问题,declare @a varchar(20)
select @a='____' + dep_id + '__'
from dep_info
where dep_name='计算机科学与技术'其中@a的值有问题,成了
____01      __ 
这样,其中01后有去多空格,怎么去掉
或者有什么其他好的方法实现我的要求吗
谢谢

解决方案 »

  1.   

    你传递这个@a过来的时候,先做个Trim不就可以了吗?
      

  2.   

    或者这样?
    declare @xx varchar(20)
    set @xx = '  xx  '
    select replace(@xx,' ','')
      

  3.   

    回复人: brightheroes(闭关|那一剑的风情) ( ) 信誉:108  2004-12-02 15:18:00  得分: 0  
     
     
       你传递这个@a过来的时候,先做个Trim不就可以了吗?
      
     
    好主意!
      

  4.   

    'trim' 不是可以识别的 函数名怎么办空格是在当中的
      

  5.   

    你用的csharp还是vb,注意大小写!
    yourstring.Trim()
      

  6.   

    试试这样
    @a='____' + cast(dep_id,varchar(2))+ '__'
      

  7.   

    @a='____' + cast(dep_id as varchar(2))+ '__'
      

  8.   

    就用SQL数据库查询分析器
    我想把它在数据库中实现,然后调用存储过程
    但数据库中只有ltrim和rtrim,但我的空格在中间,怎么办
    期待中~~
      

  9.   

    declare @xx varchar(20)
    set @xx = '  xx     xxx              xxx'
    select replace(@xx,' ','')结果是 xxxxx无论你的空格在什么地方,有多少个,都给你Replace掉
    这样就可以了
      

  10.   

    @a='____' + cast(dep_id as varchar(2))+ '__'
    的话
    嗯,如果ID是123
    估计就8可以了:D
    楼主小心