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

MSSQL
SQL Server 2008批量删除及插入的方法
SQL Server 2008对T-SQL语言的增强
SQL Server 2008中不推荐及不支持的功能
跟我学SQL:(七)从子表里删除数据
如何使用 SQL Server 数据库查询累计值
如何使用SQL Server数据库查询累计值
选择是否恢复整个SQL Server的方法介绍
sql server注册表操作相关的几个未公开过程
在SQL Server中通过.NET远程的执行SQL文件
讲解SQL Server数据库被挂马的解决方案
SQL Server COALESCE()函数的创新应用
教你快速确定SQL Server栏中的最大值
避免在 PL/SQL 中使用嵌套游标查询
轻松掌握SQL Sever中各种语句的完整语法
Asp.net编程中的数组基础实例学习
SQL Server 2005最后升级:SP3年底发布
SQL Server 2008数据库中的新数据类型
SQL Server不允许进行远程连接的解决办法
SQLServer2005 XML在T-SQL中的应用
使用SQL Server代理运行CmdExec命令

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


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