Tôi có một bảng có hai cột (date_ID
, entry_Date
). Tôi muốn chèn tất cả các ngày trong một khoảng thời gian cụ thể vào bảng (nói ngày tháng tất cả các ngày giữa 2002-2030). Có cách nào để làm điều đó bằng cách sử dụng vòng trong SQL-Server?Chèn tất cả các ngày trong một khoảng thời gian trong một bảng
Trả lời
Hãy thử điều này
DECLARE @d date='20020101'
WHILE @d<'20300101'
BEGIN
INSERT INTO dbo.Dates (entry_Date)
VALUES (@d)
SET @d=DATEADD(DAY,1,@d)
END
GO
cảm ơn nhiều bạn thân – AfterGlow
@SreeragNs Bạn được chào đón))) –
insert into table values(date_ID,(select entry_Date from table where entry_Date between 01/01/2002 and 01/01/2030))
Hãy thử loại truy vấn này.
Thay cho date_ID đặt giá trị phù hợp của bạn.
này nên làm điều đó:
WITH TestItOut AS
(
SELECT CAST('2002-01-01' as datetime) DateColumn
UNION ALL
SELECT DateColumn + 1
FROM TestItOut
WHERE DateColumn + 1 <= '2030-12-31'
)
INSERT INTO YourTable (ColumnName)
SELECT DateColumn
FROM TestItOut
OPTION (MAXRECURSION 0)
trong oracle tôi sẽ làm
insert into sometable
select to_date('01/01/2013','dd/mm/yyyy') + level
from dual
connect by level < 10001
này sẽ tạo ra 10.000 ngày từ 1/1/13 với một khoảng thời gian hàng ngày. nếu bạn muốn có khoảng thời gian theo giờ, ví dụ bạn chỉ có thể thay đổi + level
thành + level/24
.
đây là truy vấn phân cấp ANSI sql cơ bản - nó cũng hoạt động trong máy chủ SQL.
+1 nhưng 'kết nối bằng' không phải là ANSI sql. –
nhưng nó tồn tại trong SQL Server, phải không? – haki
Tôi không nghĩ vậy. SQL-Server cũng có các truy vấn phân cấp với CTE (và Oracle, bên cạnh cú pháp 'CONNECT BY'). Giống như câu trả lời của McCee. –
- 1. Khóa bảng SQL trong một khoảng thời gian
- 2. Sử dụng một khoảng thời gian thay đổi trong một khoảng thời gian trong Postgres
- 3. Tăng ngày theo một khoảng thời gian
- 4. Tách một khoảng thời gian thành nhiều khoảng thời gian
- 5. Xem tất cả thời gian chờ/khoảng thời gian trong javascript?
- 6. Joda Thời phút trong một thời gian hoặc khoảng
- 7. Ngày giờ trong khoảng thời gian trong JodaTime?
- 8. Nhóm MySQL theo khoảng thời gian trong một phạm vi ngày
- 9. Nhận mỗi giờ trong một khoảng thời gian
- 10. Java: chức năng ngày JPQL để thêm một khoảng thời gian để một ngày khác
- 11. thay thế tất cả các ngắt dòng không phải trước một khoảng thời gian có cụm từ thông dụng?
- 12. Trì hoãn một hành động trong một khoảng thời gian
- 13. Làm việc với một khoảng thời gian trong Javascript
- 14. Khoảng thời gian giữa hai ngày trong Groovy
- 15. Hai cột dấu thời gian của MySQL trong một bảng
- 16. Chạy một hàm trong khoảng thời gian trong jQuery
- 17. Thả tất cả các bảng ngoại trừ một trong MySql
- 18. Gấu trúc - nhóm các khoảng thời gian trong ngày theo ngày
- 19. Hợp nhất các khoảng thời gian chồng chéo ngày
- 20. Đếm số ngày làm việc bình thường trong một khoảng thời gian nhất định
- 21. Xóa tất cả các hàng trong bảng
- 22. Làm cách nào để xóa tất cả các khoảng thời gian?
- 23. Loại bỏ khoảng trắng trong một bảng
- 24. Ngủ một sợi chỉ trong một khoảng thời gian vô hạn trong Linux
- 25. Trả về các khung thời gian tập hợp dữ liệu trong một khung thời gian khác?
- 26. Tìm khoảng thời gian tiểu học trong khoảng thời gian chồng chéo
- 27. Tìm tất cả sự khác biệt trong một mảng trong thời gian O (n)
- 28. Khoảng thời gian trong mục tiêu C
- 29. Làm cách nào để trả về TẤT CẢ các cột trong một bảng và chỉ một vài cột trong một bảng khác bằng cách tham gia?
- 30. Khoảng thời gian LocalDate trong thời gian Joda
Tôi chỉ muốn nói làm thế nào mát mẻ là có ba cách khác nhau 100% để thực hiện cùng một nhiệm vụ SQL không thực sự được thiết kế cho, haha :) – Patashu