1、创建测试表,
create table test_int(value varchar2(50))
2、插入测试数据
insert into test_int values('asdfdsf?d=123&ewv')
insert into test_int values('qwer?d=234')
insert into test_int values('asfdwe?d=234&dhewu')
insert into test_int values('adfasf?d=25&reuw')
insert into test_int values('afhkashf')
commit
3、查询表中全量数据,select t.*, rowid from test_int t
4、编写sql,获取字符串中的指定字符
select t.*,
case
when instr(value, 'd=') = 0 then
null
else
substr(value,
instr(value, 'd='),
case
when instr(value, '&') = 0 then
10
else
instr(value, '&') - instr(value, 'd=')
end)
end a
from test_int t
DROP TABLE IF EXISTS `test_user`CREATE TABLE `test_user` (
`id` int(11) NOT NULL,
`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`hobby` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic
INSERT INTO `test_user` VALUES (1, 'beibei', 'feifei,guanguan,xiangxiang')
INSERT INTO `test_user`(`id`, `name`, `hobby`) VALUES (2, 'feifei', 'call')
表结构如下:(注意两个字符串之间的分割是英文逗号)
参数一:表示要查询的字符串。
参数二:表示在表中的哪个字段中查询,填字段名。
例如:FIND_IN_SET("feifei",hobby)
执行结果如下:
执行语句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%'
执行结果如下:
具体步骤如下:1,把所有表的结构和数据导出为文本的.sql文件,用文本编辑软件word或者dw等都可以,用替换方法比如把字符A替换为B,但这有可能误 *** 作,所以要慎重查看;
2,替换完以后,再利用mysql数据管理软件,把SQL文件导入到新的数据库中,进行严格测试,通过后;把旧版数据备份(主要为了安全着想),然后导入新的数据即可完成所需 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)