当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server中格式化表中的数据

MSSQL
SQL Server里面的时间变更周期
在SQL中设置允许同时连接的用户数
Web数据库中间件技术
在SQL数据库中得到重复次数最多的记录
Proxy Server和SQL Server在上数据库的安全复制
在各种数据库中如何限制检索行数?
如何在Oracle 中实现类似自动增加 ID 的功能?
SQL中代替Like语句的另一种写法
游标操作时进行Update应注意的一个问题
SQL语句中的一些参数如何用变量来代替?
在SQL2000查询中使用XDR的例子
SQL Server 7.0 的数据迁移到MySQL上的一种方法
关于在 win2000 下安装 mysql 的一些问题!
讨论: SELECT TOP N 问题
全文本检索的应用(1)
全文本检索的应用(2)
全文本检索的应用(3)
谈谈sql查询的between
用SQL Server为Web浏览器提供图像(一)(转)
用SQL Server为Web浏览器提供图像(二)(转)

MSSQL 中的 SQL Server中格式化表中的数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 49 ::
收藏到网摘: n/a

在数据库开发中,由于用户录入信息的随意性,可能产生表内字符串类型的数据两端存有空格,或大小写不一致等现象,给以后数据应用过程中造成不必要的麻烦。这里简单使用了一个存储过程来解决这些问题。

/* 整理系统数据*/
CREATE  PROCEDURE pro_ClearupData
as
--第一部分 整理字符串类型的数据  去除两端的空格
  declare @tableName  varchar(50)  --表名
  declare @columnName varchar(50)  --列名
  declare cur_find    cursor for select so.name,sc.name
                                   from syscolumns sc, sysobjects so, systypes st
                                  where so.name <> 'dtproperties'
                                    and st.xtype=sc.xtype
                                    and st.name='varchar'
                                    and sc.id=so.id
                                    and so.xtype='u'
   --查找包含varchar类型字段的所有用户表
   open cur_find
   fetch next from cur_find into @tableName,@columnName
   while @@fetch_status=0
   begin
      --去掉字段的两端空格
      exec('update '+@tableName+' set '+@columnName+'=ltrim(rtrim('+@columnName+'))')
      fetch next from cur_find into @tableName,@columnName
   end
   close cur_find
   deallocate cur_find
GO