如何将数据库中的大写字母全部转换成小写字母(字母转换)?

解决方案 »

  1.   

    update tablename set field1 = lower(field1)
      

  2.   


    --查询
    select lower(字段名) from 表名--更新
    update 表名 set 字段名=lower(字段名) where ...
      

  3.   

    按照这个格式将数据库一个一个表的一个一个字段update吧
    update tablename set fieldname = lower(fieldname)
      

  4.   

    1.如果数据库里的表和字段都不多:
    按照这个格式将数据库一个一个表的一个一个字段update吧
    update tablename set fieldname = lower(fieldname)
    2.如果数据库里的表很少,字段很多:
       将fieldname设成变量用动态sql自动获取,
    update tablename set fieldname = lower(@fieldname).
    3.如果数据库里的表和字段都很多:
    将tablename,fieldname设成变量用动态sql自动获取
    update @tablename set fieldname = lower(@fieldname).
      

  5.   

    同意楼上思路,具体实现如下:
    --该方法拼出update具体表字段的sql语句.视具体情况可以更改upper为lower,也可以提取该值作为传入参数.
    create function change_Type(@tableName varchar(200))
    returns varchar(8000)
    as
    begin
    declare @sql varchar(8000)
    set @sql = ' update '+@tableName+' set '
    select @sql = @sql+a.name+' = upper('+a.name+'), '
    from syscolumns a
    join sysobjects b on a.id=b.id 
    and b.xtype='U' and b.name=@tableName
    return left(@sql,len(@sql)-1)
    end
    --该方法循环所有用户表,拼接总sql语句.视具体情况可以一次循环20次,防止varchar(8000)溢出.
    create function nested_table()
    returns varchar(8000)
    as
    begin
    declare @sql varchar(8000)
    set @sql = ''
    select @sql = @sql+' '+dbo.change_type(name)
    from sysobjects
    where xtype='U'
    exec(@sql)
    end
    --删除测试方法
    drop function change_type
    drop function nested_table
    ---------------------------------
    没敢执行,只敢拼出最后的语句,部分如下:
    update EOMS_WORK_ORDER set BEGIN_DATE = upper(BEGIN_DATE), BELONG_JOB_ID = upper(BELONG_JOB_ID), BELONG_STAFF_ID = upper(BELONG_STAFF_ID), CREATE_DATE = upper(CREATE_DATE), DIS_STATE = upper(DIS_STATE)  update PM_ROLE_TYPE set COMMENTS = upper(COMMENTS), ROLE_TYPE = upper(ROLE_TYPE), ROLE_TYPE_NAME = upper(ROLE_TYPE_NAME)  update--第三个update了,下同