赞
踩
例如where case when id is not null then ‘exam_type = 1’ else ‘1 = 1’ end:
按照过去的使用情况来看,这条语句的实际查询条件要么是 where exam_type = 1 要么是 where 1 = 1。
但是结果是都不是,失效。
无法理解,无法解决,只好换一个思路,尝试用if替代一下:
if(id is not null, exam_type = 1,1),但是依然报错(无法解析的成员访问表达式[IF])。
再次尝试优化:
if(id is not null, if(exam_type = 1, 1, 0), 1)
。
ok成功了。
蚌埠住,实在是蚌埠住,首先,一定切记不要使用SYSDBA去创建模式使用,大坑。
其次,不同版本的客户端导出的dmp文件是没法去用相同的办法复原的。
要么用dts迁移工具迁移,要么用sql脚本去复原。
我的需求是,我需要初始正式环境的数据,我的问题是,我无法用可视化界面连接到正式环境(堡垒机),但是测试环境的达梦数据库版本和正式环境的又不一致,而项目的数据初始化又只能在测试环境进行,所以我只能在测试环境做成备份文件去正式环境还原。
dts可视化界面没法用(x),不可抗力,无法直接连接到正式环境。
sql脚本复原不想用(x),导出的文件太大,哪怕压缩也有3个GB多,不太想用。
笨办法:
在本地的虚拟机上装一个和正式环境一模一样的达梦数据库,然后利用dts可视化工具,迁移数据到虚拟机上的达梦数据库,然后在达梦数据库上做备份,再拿这个备份文件到正式环境做还原。
指令:
先进入bin目录下,工具都在这个目录
cd /dmdbs/bin
备份指令
./dexp USERID=root/password DIRECTORY=/xxx/backup FILE=exam-20230905-239.dmp SCHEMAS="exam" TABLESPACE=Y DROP=N GRANTS=N NOLOGFILE=Y COMPRESS=Y
上面这条指令中,需要自己修改自己的用户名和密码USERID,以及备份文件所在目录DIRECTORY,以及备份文件名FILE,还有需要备份的模式名SCHEMAS,COMPRESS=Y代表开启压缩,节省磁盘空间和传输时间。
还原指令
./dimp USERID=root/password DIRECTORY=/xxx/backup FILE=exam-20230905-239.dmp IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N LOG=imp.log LOG_WRITE=N
和备份指令部分参数相似,注意,这里的还原指令,我没有加SCHEMAS="exam"
这条。
用惯了mysql之后,用其他sql数据库group by很不习惯。
原因嘛,不必多说,在查询的时候可以搭配 exists 关键字使用
例如:
select *
from teacher_base a left join teacher_update u on a.id = u.id
where exists (
select 1 from (
select a.id
from teacher_base a left join teacher_work w on w.teacher_id = a.id
group by a.id
) e
where e.id = a.id
)
记录一下一个同事问我的问题
order by的字段的值里存在null的情况的时候,这些null的数据行会排在最上面。
我提供的思路是,按这个字段做一个if判断之后的排序。
例如,假设create_time存在null的情况,做排序
select * from t where 1=1 order by create_time
这样就全寄了,create_time为null的数据行肯定在最上面。
修改:
select * from t order by if(create_time is null or length(create_time)<=0 or length(create_time)is null, 1, 0), create_time
附上dm官方文档连接:https://eco.dameng.com/document/dm/zh-cn/sql-dev/practice-func.html
----------------------------------------------------------20230908-------------------------------------------------------------
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。