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

Nhận ngày chủ nhật giữa hai ngày và ngày cuối cùng từ một tháng mysql

Vì bây giờ bạn đã đề cập rằng bạn không có bảng cho ngày tháng, bạn có thể tiếp cận nó như thế này nếu bạn không muốn thêm một bảng lịch chung vào cơ sở dữ liệu của mình.

declare @startdate datetime 
declare @enddate datetime
DECLARE @startdateLoop datetime

select @startdate = CAST(start as DATE), @enddate = CAST(end_date as DATE) from #t
set @startdateLoop = @startdate
CREATE TABLE #tempCal
  (dates datetime)

  WHILE @startdateLoop != @enddate 
  BEGIN
  INSERT INTO #tempCal
  SELECT @startdateLoop

  SET @startdateLoop = DATEADD(dd, 1, @startdateLoop)
  END

  SELECT * FROM #tempCal
  WHERE dates between @startdate and @enddate and DAYOFWEEK(dates) = 1

Bạn có thể biến điều này thành một thủ tục nếu bạn muốn.

Vẫn sẽ tốt nếu bạn CÓ một bảng lịch; như Tim đã gợi ý.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi mysql # 1305 FUNCTION db.sys_exec không tồn tại

  2. InnoDB:Lỗi hệ điều hành số 23 trong một hoạt động tệp

  3. Truy vấn MySQL - nhận các bản ghi bị thiếu khi sử dụng từng nhóm

  4. Loại dữ liệu mysql tốt nhất cho gam, miligam, microgam và kilojoule

  5. PHP:Động thả xuống với optgroup