
update 表名 set 字段=switch(字段>=0 and 字段<025,1,字段>=025 and 字段<05,2,true,字段)
其他的不变,只改了两个段里的,其他段也改的话,你自己加上吧,按照上边的格式
oracle:
假如从A库中导入B库中:
1、从A库中倒出
exp system/bitservice owner=(user_nameA) table=(table_name) file=backupdata1dmp log=backupdata1log buffer=655000 compress=y
2、导入B库中
imp system/bitservice fromuser=(user_nameA) touser=(user_nameB) file=backupdata1dmp log=backupdata1_implog ignore=y
oracle中可以通过全文检索替换来实现单个字符的替换。
设置全文检索
步骤步骤一:检查和设置数据库角色
首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能 (10G默认安装都有此用户和角色)。你必须修改数据库以安装这项功能。默认安装情况下,ctxsys用户是被锁定的,因此要先启用ctxsys的用户。
步骤二:赋权
在ctxsys用户下,授予测试用户oratext以下权限:
GRANT resource, CONNECT, ctxapp TO oratext;
GRANT EXECUTE ON ctxsysctx_cls TO oratext;
GRANT EXECUTE ON ctxsysctx_ddl TO oratext;
GRANT EXECUTE ON ctxsysctx_doc TO oratext;
GRANT EXECUTE ON ctxsysctx_output TO oratext;
GRANT EXECUTE ON ctxsysctx_query TO oratext;
GRANT EXECUTE ON ctxsysctx_report TO oratext;
GRANT EXECUTE ON ctxsysctx_thes TO oratext;
GRANT EXECUTE ON ctxsysctx_ulexer TO oratext;
步骤三:设置词法分析器(lexer)
--查询测试
SELECT score(20),t FROM textdemo t WHERE contains(book_abstract,'移动城堡 or 俄罗斯',20)>0;
SELECT score(20),t FROM textdemo t WHERE contains(book_abstract,'移动城堡 or 欧洲',20)>0;
--基本查询
SELECT score(20),t FROM textdemo t WHERE contains(book_abstract,'移动城堡',20)>0;
--查询包含多个词语and测试通过
SELECT score(20),t FROM textdemo t WHERE contains(book_abstract,'移动城堡 and 欧洲',20)>0;
测试通过。
表数量多么,所有字段都要更新?
给个思路先:
查询所有表中带有字符型字段的字段(varchar,nvarchar 其他类型酌情考虑)
select SOname as t_name, SCname as f_name,STname as f_type fromsysobjects SO, -- 对象表
syscolumns SC, -- 列名表
systypes ST -- 数据类型表
where SOid = SCid
and SOxtype = 'U' -- 类型U表示表,V表示视图
and SOstatus >= 0 -- status >= 0 为非系统对象
and SCxtype = STxusertype
and stname in ('varchar','nvarchar')
order by SOname,scname
2根据查询出的表名和所属字段,拼接出各表的update 语句
方法有很多种,比如从上边SQL查处的结果里把表名抽出来,逐个传入以下语句
declare @str varchar(4000)declare @strTN varchar(100)
set @strTN = 'CSVTable' --定义表名
set @str = ''
select @str = @str + ',' + SCname + '=REPLACE(' + SCname + ',''#'','''')' from
sysobjects SO, -- 对象表
syscolumns SC, -- 列名表
systypes ST -- 数据类型表
where SOid = SCid
and SOxtype = 'U' -- 类型U表示表,V表示视图
and SOstatus >= 0 -- status >= 0 为非系统对象
and SCxtype = STxusertype
and stname in ('varchar','nvarchar')
and SOname = @strTN
order by SOname,scname
IF @str <> '' set @str= 'update ' + @strTN + ' set ' + SUBSTRING(@str,2,4000)
PRINT @str --打印出SQL
exec(@str) --执行SQL
以上就是关于access数据库中如何替换数据全部的内容,包括:access数据库中如何替换数据、SQL里如何把一个表的内容替换到另外个数据库里、oracle有没有方法把数据库表中的字段的所有数据中的某个字母或数字修改或替换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)