哪里有SQL SERVER2000免费版下载^-^

解决方案 »

  1.   

    冷水:
    pwdencrypt是个啥东东啊?
      

  2.   

    一个小问题,如何将多个空格转换为一个空格?如:“如  何将     多个空格转换为一       个空格”要转换为:
    “如 何将 多个空格转换为一 个空格”注:相连的空格数目不限!
    declare @ varchar(100)
    set @='a      l   p'while charindex('  ',@)>0 set @=replace(@,'  ',' ')
    select @
      

  3.   

    --解决有tab键
    declare @ varchar(100)
    set @='a    l             p'
    while charindex(' ',@)>0  set @=replace(@,' ',' ')将TAB转换为' '
    while charindex('  ',@)>0  set @=replace(@,'  ',' ')将'  '转换为' '
    select @
    a l p
      

  4.   

    9494,我还没认真看,懒猫的方法怎么能比我的循环少。
    肯定多,长篇大论更多。长篇大论一般来说空格不长,但多。怎么说都不会用懒猫的方法。
    同意 caiyunxia,也自我同意一把。哈哈
      

  5.   

    TO:J9988、caiyunxia:
    你们也许没有深层去分析,从表面上看来你们的循环比我的循环次数是要少,但是你们想过replace函数的内部结构是怎么样的吗,我想无非也就是通过left,right,charindex等函数的组合循环找数,这样一来,内循环加外循环就比我的那个循环的次数就要多得多了!经我初步测试证实我的推测是正确的。不信你们可以试试,我想你们都没测试过吧!对于单条的数据用你们的方法要简单,因为可以忽略速度,但是对于它作为一个表中的一个字段,而表中的数据量又比较大时查询时就得考虑速度了!
      

  6.   

    对于TAB的替换,我个人认为用TAB的ASCII来表示更易理解,这样可以从视觉上区分于空格:
    select ascii(' ')
    declare @sql varchar(1000)
    set @sql='we3i23 weirwo wewee weiwr e kasd asdf wer sdf sdfk'
    select replace(@sql,char(9),' ')
      

  7.   


    select  replace('如             何将             多个空格转换为一        个空格' ,' ','')
      

  8.   

    增加一问题:关于行列变换
    列变行可以用case实现
    如果行变列有什末好办法?例如:create table t( cName varchar(20),Q1 int,Q2 int ,Q3 int ,Q4 int)
    数据为
    cname     q1       q2         q3        q4
    -------------------------------------------
    a         10       20          30       40
    b         11       21          31       41
    c         12       22          32       42 现在转换为:
    q         a        b           c
    -------------------------------------
    q1        10       11          12
    q2        20       21          22
    q3        30       31          32
    q4        40       41          42应该怎末做呢?很早以前有个竹子草的兄弟提出了一个解决办法,可是再找不到那个贴子了。
      

  9.   

    刚才写的有点问题 “列变行可以用case实现 如果行变列有什末好办法?”
     应该是“行变列可以用case实现 如果列变行有什末好办法?”具体看我的例子吧。谢谢
      

  10.   

    参考
    create table 表(类别 varchar(10),男性 decimal(20,1),女性 decimal(20,1))
    insert into 表
    select '小说',38.0,59.2
    union all select '散文',18.9,30.6
    union all select '哲学',16.2,10.2
    go--查询处理
    declare @s1 varchar(8000),@s2 varchar(8000)
    ,@s3 varchar(8000),@s4 varchar(8000),@s5 varchar(8000)
    ,@i varchar(10)
    select @s1='',@s2='',@s3='',@s4='',@s5='',@i='0'
    select @s1=@s1+',@'+@i+' varchar(8000)'
    ,@s2=@s2+',@'+@i+'=''性别='''''+name+''''''''
    ,@s3=@s3+'
    select @'+@i+'=@'+@i+'+'',[''+[类别]+'']=''+cast(['+name+'] as varchar) from 表'
    ,@s4=@s4+',@'+@i+'=''select ''+@'+@i
    ,@s5=@s5+'+'' union all ''+@'+@i
    ,@i=cast(@i as int)+1
    from syscolumns 
    where object_id('表')=id and name<>'类别'select @s1=substring(@s1,2,8000)
    ,@s2=substring(@s2,2,8000)
    ,@s4=substring(@s4,2,8000)
    ,@s5=substring(@s5,16,8000)exec('declare '+@s1+'
    select '+@s2+@s3+'
    select '+@s4+'
    exec('+@s5+')')
      

  11.   

    A 表
    字段: uid    buid 
    ------------------------
             1      12
             2      12
             3      10
             4      11
             4      12B 表
    字段: uid    bname
    ------------------------
             10     地瓜日记
             12     土豆日记
             11     香蕉菠萝 其中 B表的UID 字段 为A表中的 buid 如何查询B表中每条记录 在 A表中 存在的记录的条数呢?select (select count(a.uid) from a where a.buid=b.uid) as '记录数',
    b.bname as '菜名'
        from b 这样做开销是否太大 ? 有没有更好的解决方法?
      

  12.   

    我新写的一个存储过程,大家看看:如何获得SQL SERVER2000数据库指定对象的权限列表?
    http://www.csdn.net/Develop/article/27/27360.shtm
      

  13.   

    我想问一下这句SQL是什么意思?
    http://expert.csdn.net/Expert/topic/3034/3034445.xml?temp=.2602655有兴趣的过去看看
      

  14.   

    行列变换(注意是行列直接变换,不是交叉表),参考我写的通用存储过程http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=190106