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

Cách truyền DateTime thành Time

Time không được lưu trữ với định dạng hiển thị trong SQL Server.
Do đó, từ góc độ người dùng, bạn có thể nói rằng nó không có định dạng.
Tất nhiên, điều đó không hoàn toàn chính xác vì nó có định dạng lưu trữ , nhưng với tư cách là một người dùng bình thường, bạn thực sự không thể sử dụng nó.
Điều này đúng với tất cả các loại dữ liệu ngày và giờ:
Date , DateTimeOffset , DateTime2 , SmallDateTime , DateTimeTime .

Nếu bạn cần một định dạng thì bạn không cần truyền sang time nhưng với một char . Sử dụng Convert để lấy char bạn cần:

SELECT CONVERT(char(10), [time], 108) as CSTTime 

Đây là một số dữ liệu nền nếu bạn quan tâm:

Trong bài báo xuất bản năm 2000 này, người viết giải thích sâu về cách SQL Server xử lý ngày và giờ. Tôi nghi ngờ liệu có điều gì thay đổi đáng kể từ năm 2000 đến năm 2015 trong cách SQL Server lưu trữ date không , timedatetime giá trị nội bộ.

Dưới đây là các trích dẫn có liên quan, nếu bạn không muốn đọc tất cả:

Vậy SQL Server lưu trữ ngày tháng trong nội bộ như thế nào? Nó sử dụng 8 byte để lưu trữ giá trị datetime — 4 byte đầu tiên cho ngày tháng và 4 byte thứ hai cho thời gian. SQL Server có thể giải thích cả hai bộ 4 byte là số nguyên.
........
........
SQL Server lưu trữ số nguyên thứ hai với thời gian là số đồng hồ tích tắc sau nửa đêm. Một giây chứa 300 tích tắc, vì vậy một tích tắc tương đương với 3,3 mili giây (mili giây).

kể từ time thực sự được lưu trữ dưới dạng số nguyên 4 byte, nó thực sự không có định dạng như một phần tích hợp của kiểu dữ liệu.

Bạn cũng có thể muốn xem bài viết này để được giải thích chi tiết hơn với các mẫu mã.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra xem một chuỗi có chứa một chuỗi con trong SQL Server 2005 hay không bằng cách sử dụng một quy trình được lưu trữ

  2. Có thể để mệnh đề Đầu ra SQL trả về một cột không được chèn vào không?

  3. lỗi khi chèn vào bảng có thay vì kích hoạt từ khung dữ liệu thực thể

  4. Làm cách nào để tạo và truy vấn các máy chủ cơ sở dữ liệu được liên kết trong SQL Server?

  5. Sử dụng SQL Server làm kho lưu trữ hình ảnh