c# - Oracle 和 SQL Server 数据集比较

标签 c# sql-server oracle

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

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

最佳答案

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

例如“.”选择“.”用于小数点和组分隔符的逗号。

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

关于c# - Oracle 和 SQL Server 数据集比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6105524/

相关文章:

c# - 如何删除 C# 元组列表中的反向重复项

sql - Oracle的ADD_MONTHS()的SQL Server版本

php - 在 Oracle 中始终获得 2 位小数的最佳方法是什么?

c# - ora-01036 非法变量名

c# - 如何使用powershell获取所有证书?

c# - 使用 LINQ to SQL 从数据库进行最佳 Count() 操作

c# - CommandType为StoredProcedure时如何使用IDbCommandInterceptor修改SQL

仅基于月和年的 SQL Server 日期比较

php - 从 Centos7 到 mssql 的连接错误

c# - Oracle Date 列存储时间,但不显示它