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

DateAdd Column gây ra lỗi tràn

Tôi có thể lặp lại lỗi với lỗi sau:

declare @posting_date datetime
set @posting_date = '1/1/1753'

select DATEADD(day, -1 , DATEADD(mm, DATEDIFF(mm,0,@posting_date),0)) 

lỗi sau khi chạy nó:

Về cơ bản, ngày post_date trong trường hợp trên là giá trị ngày giờ tối thiểu được máy chủ SQL cho phép. Nếu sau đó bạn cố gắng trừ đi 1 ngày, thì nó sẽ rơi vào tình trạng tràn.

Tôi đoán là bạn có một điểm dữ liệu được đặt thành Giá trị ngày tối thiểu của SQL Server .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhật ký giao dịch SQL Server, Phần 3:Khái niệm cơ bản về ghi nhật ký

  2. Xóa tài khoản thư cơ sở dữ liệu (SSMS)

  3. Lấy mã định danh cơ sở dữ liệu duy nhất cho SQL Server 2005 trở lên

  4. @@ MAX_PRECISION trong SQL Server là gì?

  5. Cách chuyển một mảng vào một thủ tục được lưu trữ trên SQL Server