Tôi đang sử dụng MS SQL Server 2008, và trong một bảng tôi có cột idate là ngày nhưng ở định dạng số nguyên. Nhưng trong truy vấn tôi muốn ở định dạng ngày tháng. Có thể chuyển đổi ngày nguyên thành định dạng ngày giờ thích hợp không?Làm thế nào để chuyển đổi int đến ngày trong SQL Server 2008
Trả lời
Bạn không thể chuyển đổi một giá trị số nguyên thẳng đến một ngày nhưng bạn có thể đầu tiên nó vào một datetime sau đó đến một loại ngày
select cast(40835 as datetime)
và sau đó chuyển đổi sang một ngày khác (SQL 2008)
select cast(cast(40835 as datetime) as date)
cổ vũ
chỉ đọc lại câu hỏi của bạn, nếu muốn như một ngày tháng sau đó chỉ cần chọn cast (40835 là datetime) – davey
Bạn rất có thể muốn kiểm tra các tài liệu cho CAST T-SQL và CONVERT chức năng, nằm trong tài liệu ở đây: http://msdn.microsoft.com/en-US/library/ms187928(v=SQL.90).aspx
Sau đó bạn sẽ sử dụng một trong những chức năng trong truy vấn T-SQL của bạn để chuyển đổi cột [idate] từ cơ sở dữ liệu vào định dạng ngày giờ theo ý thích của bạn trong đầu ra.
Bạn phải lần đầu tiên chuyển đổi nó sang datetime, sau đó đến d ăn.
Hãy thử điều này, nó có thể hữu ích:
Select Convert(DATETIME, LEFT(20130101, 8))
sau đó chuyển đổi cho đến nay.
Đọc qua điều này giúp giải quyết vấn đề tương tự. Dữ liệu nằm trong kiểu dữ liệu thập phân - [DOB] [thập phân] (8, 0) NOT NULL - ví dụ - 19700109. Tôi muốn nhận được vào tháng. Giải pháp là kết hợp SUBSTRING với CONVERT với VARCHAR.
SELECT [NUM]
,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
FROM [Dbname].[dbo].[Tablename]
Nếu số nguyên của bạn là dấu thời gian trong mili giây sử dụng:
SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name
Nó sẽ định dạng mili giây để chuỗi yyyy-mm-dd.
Câu hỏi là về MS SQL Server mà không có bất kỳ chức năng 'strftime' (mà tôi tin là một hàm SQLite?) – jpw
- 1. Làm thế nào để chuyển đổi Varchar để Int trong sql server 2008?
- 2. SQL Server: chuyển đổi ((int) năm, (int) tháng, (int) ngày) để Datetime
- 3. Microsoft SQL Server 2008 - Ngày
- 4. Làm cách nào để chuyển đổi tệp SQL Server 2008 .mdf thành SQL Server 2012?
- 5. Làm thế nào để chuyển đổi định dạng ngày hệ thống thành dd/mm/yy trong SQL Server 2008 R2?
- 6. Làm thế nào để chuyển đổi cơ sở dữ liệu SQL Server 2008 R2 sang SQL Server 2012?
- 7. Làm thế nào để chuyển sang datetime2 trong dự án Enitity Khung/SQL Server 2008
- 8. Chuyển đổi cột từ ngày sang ngày giờ Sql Server
- 9. Nâng cấp SQL Server 2008 đến 2008 R2
- 10. Làm cách nào để chuyển đổi Sql Server 2008 DateTimeOffset thành DateTime
- 11. Làm thế nào để Chuyển đổi int [] để int [,] - C#
- 12. Làm thế nào để: Tạo kích hoạt cho bản cập nhật tự động ngày sửa đổi với SQL Server 2008
- 13. Làm thế nào để chuyển đổi mảng int thành int?
- 14. Tìm ngày không hợp lệ trong SQL Server 2008
- 15. Làm thế nào để chuyển đổi một số nguyên (thời gian) thành HH: MM: SS :: 00 trong SQL Server 2008?
- 16. Chuyển đổi ngày sang các dấu tích trong SQL Server
- 17. SQL Server 2008 Tạo một chuỗi ngày giờ
- 18. Tìm kiếm giữa ngày và giờ trong SQL Server 2008
- 19. Làm thế nào để thay đổi ngôn ngữ và định dạng ngày trong SQL Server?
- 20. Làm thế nào để chuyển đổi IntPtr để int
- 21. SQL Server 2008 và HashBytes
- 22. Gửi thông tin xác thực đến Sql Report Server 2008
- 23. Làm thế nào để chuyển đổi một int thành một chuỗi không đệm trong T-SQL?
- 24. Nhận ngày giờ từ năm, ngày trong năm và giờ trong SQL Server 2008 R2
- 25. Sử dụng SQL Server 2008 và SQL Server 2005 và ngày giờ
- 26. Cài đặt SQL Server 2008 Biến ngày giờ
- 27. SQL Server 2008 - Chuyển từ Chọn để Chỉnh sửa Nhanh
- 28. Làm thế nào để chuyển đổi int để QString?
- 29. làm thế nào để chuyển đổi int để UINT
- 30. Chuyển đổi ngày Đến ToShortDateString Trong Razor
Khi bạn nói rằng bạn có ngày ở định dạng số nguyên, ý của bạn là gì - định dạng là gì? – condiosluzverde
davey là chính xác. 'DATEADD (DAY, 40835, '1900-01-01')' nhanh hơn một chút trong các bài kiểm tra mà tôi đã chạy. –