甲骨文和SQL Server数据集比较

本文关键字:数据集 比较 Server SQL 甲骨文 | 更新日期: 2023-09-27 17:57:23

我正在尝试在来自两个不同数据库的两个数据集之间执行 C# 数据集捕获。数据集一来自Oracle,数据集二来自SQL Server,我将在ETL作业运行以将数据从Oracle移动到SQL Server以验证结果后比较这些数据集。我遇到的问题是 SQL Server 中的数据匹配,但日期从源到目标的格式不同,并且小数点舍入也不同。

没有人有很好的方法来规避这个问题。我正在考虑从填充数据集的源表和目标表中更改我的查询以格式化日期等......所以比较会更容易,但我想看看还有其他方法吗?

甲骨文和SQL Server数据集比较

对于日期格式,将NLS_DATE_FORMAT环境变量设置为所需的格式。这假定您捕获字符串中的数据。Oracle 会将日期格式设置为您指定的格式。对于小数点四舍五入,我不明白。这些数字应该相同。如果您得到一个小数点并想要一个逗号,请使用NLS_MUMERIC_CHARACTERS"DG"来选择使用小数点或组分隔符的字符。

例如,"."选择"."作为小数点,选择逗号作为组分隔符。

可以从客户端操作系统设置环境变量,也可以从 Oracle 会话中设置环境变量。为此,请发行alter session set nls_date_format = 'YYYYMMDDHH24MISS';或任何最适合您的格式。