sql - SQL Developer:查询结果的导出不保留data_type
问题描述
我正在开发一个无法直接连接到数据库的项目。我写了一个查询来获取我需要的所有数据,以便我可以导出它们。此 SQL 查询的结果具有很好的 data_type,但是当我导出结果时,我选择了insert
格式,此时所有 data_type 都切换为字符串。
导出数据的示例,其中数字为字符串格式,而在原始数据库和查询的响应中,类型受到尊重:
Insert into MY_TABLE (POSTCODE, NUMBER, ADRESS, CODE, CITY, VALUE) values ('90000', '303', 'HultonLane', '2845', 'BOLTON', '3');
您知道是否有任何方法可以从原始数据库中导出具有相同 data_type 的数据?
感谢您的帮助,如果您需要更多信息,我会提供给他们。
解决方案
这种行为(或错误?)存在于例如 SQL Developer 版本 19.4 中,但在 20.2 中已修复,因此 - 如果您使用的是较低版本,我建议您升级。
这是一个示例,基于 Scott 的DEPT
表,其中DEPTNO
列的数据类型为NUMBER
. 结果 - 当这个:
desc dept;
select /*insert*/ * from dept;
作为脚本运行 - 是:
Name Null? Type
------ -------- ------------
DEPTNO NOT NULL NUMBER
DNAME VARCHAR2(20)
LOC VARCHAR2(20)
REM INSERTING into DEPT
SET DEFINE OFF;
Insert into DEPT (DEPTNO,DNAME,LOC) values (10,'ACCOUNTING','NEW YORK');
Insert into DEPT (DEPTNO,DNAME,LOC) values (20,'RESEARCH','DALLAS');
Insert into DEPT (DEPTNO,DNAME,LOC) values (30,'SALES','CHICAGO');
Insert into DEPT (DEPTNO,DNAME,LOC) values (40,'OPERATIONS','BOSTON');
如您所见,所有DEPTNO
值都是数字。在 19.4 中,您将拥有例如
Insert into DEPT (DEPTNO,DNAME,LOC) values ('10','ACCOUNTING','NEW YORK');
( '10'
, 一个字符串)。
您无需对此做任何事情;无论您运行这样的select
语句,还是右键单击表名和“导出”数据作为插入语句,结果都是相同的。
顺便说一句,我们的版本匹配:我的是 20.2.0.175,构建 175.1842。
推荐阅读
- ruby-on-rails - GCloud Rails 应用程序并将 Redis 密码保存在 .env 文件中
- android - Firebase 性能视图会话显示没有会话
- reactjs - 由于 MIME 类型(“text/plain”)不匹配(X-Content-Type-Options:nosniff),资源被阻止
- boxplot - 识别一组高绩效者
- python - Gensim:doc2vec 是模型还是操作?与 R 实现的区别
- r - How to add additional statistics on top of a combined ggplot2 graph that uses a multi-variable object or two separate objects
- r - 使用 uniroot 查找根目录
- javascript - 将处理程序函数作为道具传递。我如何让父母知道点击了哪个孩子?
- reactjs - 当看到目标时,React-Viro AR ImageTracking 子元素位于相机内部
- c - 增量运算符(增量减小值不知道为什么尝试使用 gcc 以及 mingw 和在线编译器)