sql server中格式化表中的数据

server|数据

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

/* 整理系统数据*/
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

时间: 2024-09-17 04:22:16

sql server中格式化表中的数据的相关文章

数据存储-sql server在同一表中筛选出两次刷卡记录时间大于等于40分钟的员工数据

问题描述 sql server在同一表中筛选出两次刷卡记录时间大于等于40分钟的员工数据 刷卡进出数据存储在同一表中,姓名有重复的,一个人可能刷了2次,要求选出在时间段2014-12-28 11:00:00到2014-12-28 13:00:00内两次刷卡记录时间间隔大于等于40分钟的员工 logtime (时间 )logcard (卡号 )logid () logname(姓名) logbm (部门) 解决方案 ```select * from 同一表 a where logtime betw

sql service-如何获得LDAP的目录(部门信息),并插入SQL SERVER的部门表中?请贴上相关代码

问题描述 如何获得LDAP的目录(部门信息),并插入SQL SERVER的部门表中?请贴上相关代码 已经连接上了,但是不知道怎么获取里面的数据,比如部门信息和用户信息,都不知道怎么获取,求大神帮帮忙,非常感谢

sql server 2000-Sql server2000表中数据每增加1条进行提示

问题描述 Sql server2000表中数据每增加1条进行提示 我想实现的就是,当一个表中的数据新增一条记录时,就发出一种提示或标记,我的程序获取这个标记后就能执行其它操作了.数据库是sql server2000 解决方案 select @@identity 最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量 解决方案二: INSERT INTO [OOXX] () VALUES () SELECT @@IDENTITY AS [newid] 解

在SQL Server 2005所有表中搜索某个指定列的方法_mssql2005

有时候我们只知道列的名字,但是不知道这列数据到底在哪个表里面,那么可以用下面的办法把含有这列数据的表查找出来. 复制代码 代码如下: Select O.name objectName, C.name ColumnName from sys.columns C inner join sys.objects O ON C.object_id=O.object_id where C.name like '%ColumnName%'order by O.name, C.name   在你实际试用中,把C

sql server 2000 一个表的数据插入到三个相关联表中,一条一条的插入

FROM http://www.cnblogs.com/geovindu/archive/2009/07/03/1516159.html 1/**//********************************************************** 2测试数据 sql server 2000 一个表的数据插入到三个相关联表中,一条一条的插入 3---涂聚文 缔友计算机信息技术有限公司 软件工程师 geovindu@163.com www.dupcit.com 4---捷为工作室

不同结构的表数据新增-SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录

问题描述 SQL 不同表结构的两张表A和B,往表中新增表B的数据,判断条件如果表A中不存在B中的记录 insert into A(no,name,status)values ( select no,name,'Add' from B where B.no not in (select no from A) ) A(no,name,status) B(no,name) no是主键,上面这么写报错,请问要怎么改 ? 解决方案 insert into A(no,name,status) select

sqlserver-关系型数据库(sql server, oracle, mysql)中的数据Load到HBasez中

问题描述 关系型数据库(sql server, oracle, mysql)中的数据Load到HBasez中 我现在的数据是在关系型数据库(如sql server, oracle, mysql)中,且主键为复合主键,我现在想把这些数据导入到HBase中该怎么做啊?各位大神帮帮忙啊 解决方案 用Kettle抽数工具,很方便支持各种数据库之间的数据转换 解决方案二: 试试这个 数据抽取工具V3.0 http://download.csdn.net/detail/haonengbao/766908

无法在 SQL Server 2005 Manger Studio 中录入中文的

问题表现:在 SQL Server 2005 Manger Studio中打开表,无法输入中文,只能输入英文 问题重现:1. 我们建立如下三个测试表:CREATE TABLE ta(    id int IDENTITY,    col varchar(50)) CREATE TABLE tb(    col varchar(50),    id int IDENTITY) CREATE TABLE tc(    col1 varchar(50),    col2 as col1) 2. 在SQ

SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?

原文:SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?   本文出处:http://www.cnblogs.com/wy123/p/6704619.html      问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时候一个一个显式地删除过程中定义的临时表(drop table #tName),有些人又没有这个习惯,对于不明真相的群众或者喜欢思考的人会问,存储过程中定义的临