Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sự khác biệt ngầm định của luồng dữ liệu CAST so với ssis

Giới thiệu về số tuần tự ngày

Giá trị được lưu trữ trong Oracle (42824 ) được gọi là tuần tự ngày, nó cũng được sử dụng trong Microsoft Excel .

Sê-ri ngày đại diện cho số Ngày giữa giá trị ngày và giá trị ban đầu là 1899-12-30

Bạn có thể đọc thêm về Số ngày tháng tại:

  • Tại sao 1899-12-30 là ngày 0 trong Access / SQL Server thay vì 12/31?
  • chuyển đổi Số sê-ri Ngày trong Excel thành Ngày Thông thường

Phương thức CAST

Từ Microsoft Docs - CAST và CONVERT (Transact-SQL):

Chỉ được hỗ trợ khi truyền từ dữ liệu ký tự sang datetime hoặc smalldatetime. Khi dữ liệu ký tự chỉ đại diện cho ngày hoặc chỉ các thành phần thời gian được truyền sang kiểu dữ liệu datetime hoặc smalldatetime, thành phần thời gian không xác định được đặt thành 00:00:00.000 và thành phần ngày không xác định được đặt thành 1900-01-01

Vì vậy, CAST hàm xem xét giá trị 1900-01-01 như một giá trị ban đầu khi truyền ngày tháng. Vì vậy, chúng tôi cần trừ đi 2 ngày khi sử dụng nó để chuyển đổi Số ngày tháng

Có 2 cách để chuyển đổi nó thành ngày tháng bằng SQL Server:

select DATEADD(d,42824,'1899-12-30')

select CAST(36464 - 2 as SmallDateTime)

SSIS Chuyển đổi ngầm định

Cũng theo bài viết tài liệu này của Microsoft

DBTYPE_DATE (Đây là kiểu DATE tự động hóa. Nó được biểu thị bên trong dưới dạng kép .. Toàn bộ phần là số ngày kể từ ngày 30 tháng 12 năm 1899 và phần phân số là phần nhỏ của ngày. Loại này có độ chính xác là 1 giây , vì vậy có thang đo hiệu quả là 0.)

Vì vậy, chuyển đổi ngầm trong SSIS hãy xem xét giá trị 1899-12-30 như một giá trị ban đầu khi truyền ngày tháng. Vì vậy, không cần phải trừ đi 2 ngày khi sử dụng nó để chuyển đổi Số ngày tháng




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thay đổi mức độ ưu tiên cho chương trình đồng thời

  2. Định dạng DATE trong oracle

  3. Trình kiểm tra cú pháp SQL trực tuyến phù hợp với nhiều cơ sở dữ liệu

  4. Ví dụ về chuỗi và số trong Oracle Concatenate

  5. Oracle là Giải pháp thay thế của các bảng thay đổi