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

MSSQL
SQL Server 2000之日志传送功能 - 描述(1)
SQL Server 2000之日志传送功能 - 描述(2)
小议MSSQL Server 2000的安全及管理
关于值班管理的存储过程
根据进程号获取该进程所在客户端的ip地址
在业务系统中处理小数精度, 四舍五入,全舍弃,全进位的方法
利用数据库复制技术 实现数据同步更新
如何将数据库中被锁表解锁
SQLServer 2005安装及界面截图,新增功能
sql server锁机制
SQL Server 2000之日志传送功能 - 问题解决
SQL Server 2000之日志传送功能 - 设定(1)
SQL Server 2000之日志传送功能 - 设定(2)
SQL Server 2000之日志传送功能 - 设定(3)
Sql Server实用操作小技巧集合(一)
Sql Server实用操作小技巧集合(二)
Sql Server实用操作小技巧集合(三)
SQL Server提升权限相关命令及防范
SQL数据操作基础(初级)1
SQL数据操作基础(初级)2

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 48 ::
收藏到网摘: 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