sql server 2005 删除字段中间的空格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 2005 删除字段中间的空格相关的知识,希望对你有一定的参考价值。

参考技术A 1、删除所有的空格
replace(字段,' ','')
2、删除左面的空格
ltrim(字段)
3、删除右面的空格
rtrim(字段)
参考技术B 你是想更新表,还是说只是想把查询出来的结果去掉空格?update table set address=replace(address,' ','') --这个是更新select replace(address,' ','') from table 参考技术C replace(字段名,' ','')

注意,第一个‘ ’的中间有空格,既输入的时候是:' 空格 ',第二个是直接''
参考技术D update xxx set 字段=ltrim(rtime(字段)) 第5个回答  2013-03-26 update tb set col=replace(col,' ','')

我用Sqlserver2008查询时生成的Sql语句,都是自动换行的,如何设置可以不换行?

我用Sqlserver2008查询时生成的Sql语句,都是自动换行的,如何设置可以不换行?
因为我想直接在表名上右键查询top1000,然后生成带成员的sql语句,直接在vs里使用,但是现在总是要一个一个的去删除中间的空格和换行符,因为是软件,字段太多了,每次好麻烦,不知如何设置可以自动生成一行的sql语句,我可以直接用?
我自己写过一个小软件,自动删除空格和换行符,但是总感觉也不是很方便,求高手指点。

就像是该图中自动生成的sql语句,让他变成一整行,而不是这样分行的。因为在vs里使用时必须变成一行。

用EditPlus,

选中你要合并行的代码,执行合并行,即可(notepad++这类工具都有这个功能)


在sql里面你也可以用sql直接处理,

declare @a varchar(max)
set @a = 'SELECT TOP 1000 [id]
      ,[canceltype]
      ,[pername]
      ,[peroaid]
      ,[Itemid]
      ,[itemtype]
      ,[itemname]
      ,[sum]
  FROM [test].[dbo].[vwbom_cancel]' 
   
select REPLACE(@a,CHAR(13),'')  

在sql里面我通常用后面的方法,在VS中(写好的Html弄成字符串)用EditPlus处理。

追问

哦,就相当于说必须用第三方工具,来替换掉里面的空格和换行符才行是吧?sql本身无法定义文本编辑器里的内容自动不生成换行符。
我之前自己写过一个工具,自动替换换行符,但是总感觉不太方便,所以希望可以自动生成的就是不带换行的,sql server是没有这个功能?

追答

应该没有吧,这个不清楚,从来没研究过,不知道你是什么应用场景,实在需要就自己写个插件呗

参考技术A 这个没有办法。
你可以自己写一个存储过程,根据表名生成查询语句的功能。

create procedure get_sql (@table_name varchar(100))
as
begin
declare @sql varchar(1000)

set @sql = ' select '

select @sql = @sql + a.name + ',' from sys.all_columns a,sys.all_objects b
where a.object_id = b.object_id and b.name = @table_name

set @sql = left(@sql,LEN(@sql) - 1 )

set @sql = @sql + ' from ' + @table_name

print @sql

end

以上是关于sql server 2005 删除字段中间的空格的主要内容,如果未能解决你的问题,请参考以下文章

已知字符串str=' hello SQL Server 2005 ',怎么去除字符串中的空格?

SQL SERVER 2005删除重复数据

怎么判断sql server中某字段含空格

如何对sqlserver2005数据库中表字段进行加密,解密?

怎样在SQL server 2005 的表中插入图片字段为无效值怎么办

Oracle删除字段中的空格、回车及指定字符的实例代码