SELECT   REPLACE(  字段名1+','+字段名2+','字段名3  ,'   ','')   FROM   表名 

解决方案 »

  1.   

    * 无法实现此句SELECT   REPLACE(  字段名1+','+字段名2+','字段名3  ,' ','')   FROM   表名 
      

  2.   


    --错误
    看看下面的:
    replace()用第三个表达式替换第一个字符串表达式中出现的所有第二个指定字符串表达式的匹配项。 Transact-SQL 语法约定语法
     
    REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )
     备注
    REPLACE 根据输入的排序规则执行比较操作。若要以指定的排序规则执行比较操作,可以使用 COLLATE,显示指定输入的排序规则。参数
    'string_expression1'要搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。'string_expression2'要查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。'string_expression3'用于替换的字符串表达式。string_expression3 可以是字符数据或二进制数据。返回类型
    如果其中有一个输入参数属于 nvarchar 数据类型,则返回 nvarchar;否则返回 varchar。 如果任何一个参数为 NULL,则返回 NULL。
      

  3.   


    --像上面说的这样
    SELECT   REPLACE(  字段名1+','+字段名2+','字段名3  ,' ','')   FROM   表名 
    --是一种解决方法!
      

  4.   

    还是没有解决根本问题。SELECT   REPLACE(   *   ,'   ','')   FROM   表名 我的意思是,我在不知道此表有多少字段和字段名称的情况下,需要将全部的字段中的空格都替换掉。*处是代表所有字段,字段名称和数量是我做不知道的或不确定的
      

  5.   


    想偷懒?
    declare @filter varchar(500)
    select @filter=isnull(@filter+',','')+name from syscolumns where id=object_id('表名')
    select @filter='replace('+replace(@filter,',',','' '',''''),replace(')+','' '','''')'
    exec('select '+@filter+' from 表名')