Trong hướng dẫn này, chúng ta sẽ thảo luận về một số ví dụ liên quan đến các hàm và kiểu dữ liệu DateTime của SQL Server như ngày đầu tiên của tháng, v.v.

< font style = "vertical-align: inherit;"> Bạn đang xem: ví dụ về các hàm datetime của sql

Trong hướng dẫn SQL Server này, chúng ta sẽ thảo luận một số ví dụ liên quan đến kiểu dữ liệu DateTime trong SQL Server . Chúng ta cũng sẽ thảo luận về một số hàm DateTime của SQL Server mà bạn có thể sử dụng để lấy thông tin ngày và giờ.

  • SQL Server ngày đầu tiên của tháng

  • SQL Server ngày cuối cùng của tháng
  • Lấy ngày bắt đầu và ngày kết thúc của tháng hiện tại trong SQL Server
  • Làm cách nào để kiểm tra ngày hiện tại nằm giữa ngày bắt đầu và ngày kết thúc trong SQL Server?
  • Làm cách nào để lấy ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa hai ngày trong SQL Server?
  • Nhận tất cả các ngày của tháng và năm cụ thể trong SQL Server
  • Truy vấn SQL để lấy dữ liệu cho một ngày cụ thể
  • SQL Server đếm các bản ghi giữa các ngày

>

SQL

Máy chủ ngày đầu tiên của tháng

Trong một số trường hợp, bạn có thể cần tìm ngày đầu tiên của tháng từ biến DateTime trong SQL Server.

Ví dụ: nếu DateTime trong một giá trị cột là ‘2021-12-29 07: 12: 45.260’ , thì tháng hiện tại là 12 và ngày đầu tiên của tháng sẽ là ‘2021-12-01’ .

Hãy để tôi chỉ cho bạn cách bạn có thể làm điều này. Có nhiều cách khác nhau để làm điều này. Cách đầu tiên là sử dụng truy vấn SQL bên dưới:

  DECLARE @date DateTime = '2021-12-29 07: 12: 45.260'
CHỌN CAST (CAST (YEAR (@date) AS VARCHAR (4))
+ '/' + CAST (THÁNG (@date) AS VARCHAR (2)) + '/ 01' AS DATE) AS FirstDayOfMonth  

Trong truy vấn trên, tôi đã tìm nạp năm và tháng từ giá trị DateTime đã cho và thêm 01 tức là ngày đầu tiên của tháng và truyền chuỗi kết quả thành giá trị kiểu Ngày. Bạn cũng có thể sử dụng kiểu dữ liệu DateTime nếu bạn muốn có giá trị DateTime đầy đủ.

SQL Server ngày đầu tiên của tháng Tìm ngày đầu tiên của tháng

Ngoài ra, bạn cũng có thể sử dụng một trong các tập lệnh T-SQL bên dưới để tìm ngày đầu tiên của tháng:

  DECLARE @date DateTime = '2021-12-29 07: 12: 45.260'
CHỌN DATEADD (tháng, DATEDIFF (tháng, 0, @date), 0) AS FirstDayOfMonth  
  DECLARE @date DateTime = '2021-12-29 07: 12: 45.260'
CHỌN DATEFROMPARTS (NĂM (@date), MONTH (@date), 1)  

Đây là những cách bạn có thể sử dụng để tìm ngày đầu tiên của tháng từ một giá trị DateTime nhất định.

Ngoài ra, hãy kiểm tra: SQL Server DateTime so với Datetime2

Máy chủ SQL ngày cuối cùng của tháng

Không, hãy để chúng tôi tìm ngày cuối cùng của tháng từ một ngày cụ thể. Bạn có thể sử dụng hàm EOMONTH () để tìm ngày cuối cùng của tháng. Hàm có hai đối số

  • Giá trị ngày mà từ đó chúng ta sẽ tìm thấy ngày cuối cùng của tháng
  • Giá trị bù đắp, tức là một giá trị số nguyên tùy chọn sẽ được thêm vào giá trị tháng nhất định
  • Bây giờ, hãy để chúng tôi xem cách sử dụng nó. Giả sử, tôi có giá trị kiểu dữ liệu Ngày là 2021-12-15 . Chúng ta có thể tìm ngày cuối cùng của tháng này bằng cách sử dụng truy vấn dưới đây:

      DECLARE @date DateTime = '2021-12-15'
    CHỌN EOMONTH (@date) AS LastDayOfMonth  

    Máy chủ SQL ngày cuối cùng của tháng Tìm ngày cuối cùng của tháng

    Điều tốt về EOMONTH là nếu bạn vượt qua ngày có tháng là tháng 2 của năm nhuận, bạn sẽ nhận được kết quả chính xác. Ví dụ: chúng ta hãy chuyển ngày 2020-02-12 cho hàm EOMONTH () và xem kết quả.

      DECLARE @date DateTime = '2020-02-12'
    CHỌN EOMONTH (@date) AS LastDayOfMonth  

    hàm máy chủ sql ngày cuối cùng của tháng Các chức năng của SQL Server DateTime

    Bạn có thể thấy rằng chúng tôi đã lấy đúng ngày cuối cùng của tháng 2 của một năm nhuận. Bằng cách này, bạn có thể tìm ngày cuối cùng của tháng bằng một hàm đơn giản.

    Đọc: Máy chủ SQL Chuyển đổi ngày giờ thành chuỗi

    Cho đến bây giờ chúng ta đã thảo luận về cách lấy ngày bắt đầu và ngày kết thúc của một tháng trong SQL Server bằng các phương pháp khác nhau. Bây giờ, hãy xem cách chúng ta có thể lấy ngày bắt đầu và ngày kết thúc của tháng hiện tại.

    Bạn có thể sử dụng truy vấn SQL dưới đây để tìm ngày bắt đầu và ngày kết thúc của tháng hiện tại trong SQL Server:

      DECLARE @date DateTime = GETDATE ()
    CHỌN DATEFROMPARTS (YEAR (@date), MONTH (@date), 1) AS [Ngày đầu tiên của tháng],
    EOMONTH (@date) AS [Ngày cuối cùng của tháng]  

    Trong truy vấn trên, tôi đã sử dụng hàm GETDATE () để lấy ngày hiện tại. Để tìm ngày đầu tiên và ngày cuối cùng của tháng, tôi đã sử dụng các phương pháp mà tôi đã giải thích trong các phần trên.

    Lấy ngày bắt đầu và ngày kết thúc của tháng hiện tại trong SQL Server Lấy ngày bắt đầu và ngày kết thúc của tháng hiện tại trong SQL Server

    Đọc : Chức năng thay thế máy chủ SQL

    Bạn có thể sử dụng toán tử BETWEEN để tìm xem giá trị ngày có nằm giữa hai giá trị ngày hay không. Tôi đã giải thích toán tử này cùng với các toán tử logic khác trong toán tử logic của SQL Server và blog mẫu.

    Chúng tôi cũng đã thảo luận về cách chúng tôi có thể lấy ngày hiện tại bằng cách sử dụng hàm GETDATE () . Bây giờ, hãy xem cách chúng ta có thể sử dụng toán tử BETWEEN và hàm GETDATE () để tìm xem giá trị Ngày có nằm giữa hai giá trị Ngày hay không.

    Xem mã SQL bên dưới:

      DECLARE @date Date = GETDATE ()
    NẾU @date GIỮA '2019-02-11' VÀ '2022-01-23'
    PRINT ('Ngày hiện tại nằm giữa phạm vi được chỉ định')
    KHÁC
    PRINT ('Ngày hiện tại không nằm giữa phạm vi được chỉ định')
    
    NẾU @date GIỮA '2019-02-11' VÀ '2020-01-23'
    PRINT ('Ngày hiện tại nằm giữa phạm vi được chỉ định')
    KHÁC
    PRINT ('Ngày hiện tại không nằm giữa phạm vi được chỉ định')  

    Tôi đã sử dụng hai khối IF-ELSE và chỉ định hai phạm vi ngày khác nhau. Bạn có thể xem cách tôi sử dụng toán tử BETWEEN để kiểm tra xem ngày hiện tại có nằm giữa các phạm vi được chỉ định hay không.

    cách kiểm tra ngày hiện tại nằm giữa ngày bắt đầu và ngày kết thúc trong SQL Server Cách kiểm tra ngày hiện tại nằm giữa ngày bắt đầu và ngày kết thúc trong SQL Server

    Do đó, bạn có thể đã học cách kiểm tra ngày hiện tại nằm giữa ngày bắt đầu và ngày kết thúc trong SQL Server.

    Đọc: Hàm chuyển đổi máy chủ SQL

    Nếu bạn muốn lấy ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa hai ngày trong SQL Server, có thể có nhiều giải pháp. Một trong những giải pháp được đưa ra dưới đây:

     DECLARE @StartDate DateTime,
            @EndDate DateTime;
    
    CHỌN @StartDate = '2020-04-25',
            @EndDate = '2020-06-25';
    ; VỚI CTE NHƯ
    (
      CHỌN NGÀYADD (TUẦN, NGÀY (TUẦN, 0, @StartDate), 0) AS StartDate, DATEADD (WEEK, DATEDIFF (WEEK, 0, @StartDate), 6) AS EndDate
      ĐOÀN KẾT TẤT CẢ
      CHỌN DATEADD (TUẦN, 1, Ngày bắt đầu), DATEADD (TUẦN, 1, Ngày kết thúc)
      TỪ CTE
      WHERE DATEADD (WEEK, 1, StartDate) & lt; = @EndDate
    )
    CHỌN * TỪ CTE  
    • Trong truy vấn trên, chúng tôi đang sử dụng Biểu thức bảng chung (CTE) để có thể tạo tập kết quả tạm thời.
    • < / p>

    • Chúng tôi đang tạo tập kết quả tạm thời cho ngày bắt đầu và ngày kết thúc của tuần đầu tiên.
    • Sau đó, chúng tôi sẽ tạo ngày bắt đầu và ngày kết thúc của các tuần sắp tới trên cơ sở tập kết quả tạm thời này bằng cách thêm Mỗi lần 1 tuần bằng cách sử dụng hàm DATEADD () cho đến khi chúng ta đến ngày cuối cùng đã chỉ định.
    • Kết quả cuối cùng là tập kết quả tạm thời có ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa phạm vi ngày được chỉ định.
    • Cuối cùng, chúng tôi đã truy xuất dữ liệu từ tập kết quả tạm thời này bằng cách sử dụng câu lệnh SELECT và kết quả như sau:

    Cách lấy ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa hai ngày trong SQL Server Các hàm DateTime của SQL Server

    Do đó, theo cách này, bạn có thể lấy ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa hai ngày trong SQL Server.

    Đọc: Máy chủ SQL Chuyển đổi ngày giờ thành ngày tháng

    Trong phần này, tôi sẽ giải thích cách lấy tất cả các ngày của một tháng và năm nhất định trong SQL Server. Có thể có nhiều giải pháp cho vấn đề này. Tôi sẽ giải thích một trong những phương pháp để thực hiện việc này.

    • Chúng tôi sẽ sử dụng cùng một cách tiếp cận mà chúng tôi đã sử dụng trong ví dụ trên, tức là sử dụng Biểu thức Bảng Chung. Hãy xem đoạn mã SQL bên dưới:
      KHAI BÁO
    @year int = 2019,
    @ tháng int = 2;
    CÓ số
    BẰNG 
    (
        CHỌN 1 GIÁ TRỊ NHƯ
        ĐOÀN KẾT TẤT CẢ
        CHỌN GIÁ TRỊ + 1 TỪ số
        WHERE VALUE + 1 & lt; = DAY (EOMONTH (DATEFROMPARTS (@ year, @ month, 1)))
    )
    CHỌN DATEFROMPARTS (@ năm, @ tháng, số.VALUE) NHƯ NGÀY TỪ số
     

    • Trong ví dụ này, chúng tôi cũng sẽ tạo một tập kết quả tạm thời.
    • Đầu tiên, chúng tôi đang lặp lại ngày từ ngày 1 đến ngày cuối cùng của tháng.
    • Hàm EOMONTH () trả về ngày cuối cùng của tháng.
    • Hàm DATEFROMPARTS () được sử dụng để tạo giá trị kiểu dữ liệu DateTime để chúng tôi có thể chuyển nó vào hàm EOMONTH () .
    • Cuối cùng, chúng tôi nhận được một tập kết quả chứa các ngày từ ngày đầu tiên của tháng đến ngày cuối cùng của tháng. Bạn có thể xem kết quả đầu ra trong hình ảnh dưới đây:

    lấy tất cả các ngày của tháng và năm nhất định trong SQL Server Hàm DateTime của SQL Server

    Như vậy , bạn có thể đã học cách lấy tất cả các ngày của một tháng và năm nhất định trong SQL Server.

    Đọc: Chuyển đổi chuỗi máy chủ SQL thành ngày

    Trong phần này, tôi sẽ tạo một ví dụ để chứng minh cách bạn có thể lấy dữ liệu từ một bảng cho một ngày cụ thể. Tôi đã tạo một bảng Sản phẩm mẫu để lưu danh sách các sản phẩm cùng với ngày sản xuất của chúng.

    Xem truy vấn bên dưới:

      SỬ DỤNG chính
    ĐI
    SELECT * FROM dbo.Products WHERE [Mfg Date] = '2020-12-12'  

    Truy vấn SQL để lấy dữ liệu cho một ngày và giờ cụ thể Truy vấn SQL để lấy dữ liệu cho một ngày và giờ cụ thể

      < li> Trong truy vấn ở trên, tôi đã chuyển giá trị ngày vào lớp WHERE.
    • Bạn có thể thấy rằng tôi nhận được bản ghi có Ngày Mfg đã được chỉ định.
    • Giá trị ngày tháng được chỉ định cần được đặt giữa các dấu ngoặc kép.
    • Ngoài ra, bạn có thể xem định dạng ngày tháng mà tôi đã sử dụng.

    Bằng cách này, bạn có thể lấy dữ liệu cho một ngày cụ thể từ một bảng trong SQL Server.

    Đọc: Hàm chuỗi con của máy chủ SQL

    Trong phần này, tôi sẽ giải thích cách bạn có thể nhận được số lượng bản ghi có giá trị ngày giữa một phạm vi giá trị ngày. Tôi sẽ sử dụng cùng một bảng mà tôi đã sử dụng trong phần trên, tức là dbo. Sản phẩm .

    Giả sử tôi muốn tính số lượng sản phẩm có ngày sản xuất giữa một phạm vi ngày cụ thể. Trong trường hợp đó, tôi có thể sử dụng toán tử BETWEEN và chỉ định phạm vi ngày. Ví dụ: hãy xem truy vấn CHỌN bên dưới:

      SỬ DỤNG chính
    ĐI
    CHỌN ĐẾM ([ID sản phẩm]) NHƯ [Số lượng sản phẩm]
    FROM dbo.Products WHERE [Mfg Date] GIỮA '2019-01-01' VÀ '2020-12-12'  
    • Để có được số lượng bản ghi, tôi đã sử dụng hàm COUNT () . Trong kết quả bên dưới, bạn có thể thấy rằng tôi đã nhận được số lượng sản phẩm được sản xuất trong phạm vi ngày được chỉ định.

    SQL Server đếm bản ghi giữa các ngày Đếm số lượng bản ghi giữa một phạm vi ngày cụ thể trong SQL Server

    Do đó, bằng cách này, bạn có thể nhận được số lượng bản ghi giữa phạm vi ngày cụ thể trong SQL Server.

    Bạn cũng có thể muốn đọc các hướng dẫn sau về SQL Server.

    Do đó, trong bài viết này, chúng ta đã thấy một số trường hợp thường gặp khi làm việc với các hàm Ngày giờ của SQL Server.

    • SQL Server ngày đầu tiên của tháng

    • SQL Server ngày cuối cùng của tháng
    • Lấy ngày bắt đầu và ngày kết thúc của tháng hiện tại trong SQL Server
    • Làm cách nào để kiểm tra ngày hiện tại nằm giữa ngày bắt đầu và ngày kết thúc trong SQL Server?
    • Làm cách nào để lấy ngày bắt đầu và ngày kết thúc của tất cả các tuần giữa hai ngày trong SQL Server?
    • Nhận tất cả các ngày của tháng và năm cụ thể trong SQL Server
    • Truy vấn SQL để lấy dữ liệu cho một ngày cụ thể
    • < / p>

    • SQL Server đếm các bản ghi giữa các ngày

    Sau hơn 15 năm làm việc trong lĩnh vực Phần mềm, đặc biệt là trong lĩnh vực công nghệ của Microsoft, tôi đã quyết định chia sẻ kiến ​​thức chuyên môn của mình về SQL Server. Kiểm tra tất cả các hướng dẫn về SQL Server và cơ sở dữ liệu liên quan mà tôi đã chia sẻ ở đây. Hầu hết độc giả đến từ các quốc gia như Hoa Kỳ, Vương quốc Anh, New Zealand, Úc, Canada, v.v. Tôi cũng là một MVP của Microsoft . Xem thêm tại đây .


Xem thêm những thông tin liên quan đến chủ đề ví dụ về hàm datetime sql

Date Functions (Introduction to Oracle SQL)

alt

  • Tác giả: Database Star
  • Ngày đăng: 2018-03-03
  • Đánh giá: 4 ⭐ ( 7283 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Learn what date functions are and see some examples of them.
    The full Introduction to Oracle SQL course is available here: https://www.databasestar.com/introduction-to-oracle-sql-course/

[Hàm convert datetime trong sql] – Hàm CONVERT trong SQL Server – Đọc thú vị

  • Tác giả: docthuvi.com
  • Đánh giá: 4 ⭐ ( 8260 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Hướng dẫn tính tuổi trong SQL-tuvi365

  • Tác giả: tuvi365.net
  • Đánh giá: 3 ⭐ ( 5359 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Tất tần tật về xử lý ngày tháng (DATE

  • Tác giả: vncoder.vn
  • Đánh giá: 4 ⭐ ( 3372 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu ngày tháng (date/time) không giống những kiểu dữ liệu nguyên thuỷ thông thường nên thường gây khó khăn cho các bạn lập trình viên nhất là khi thao tác với các câu lệnh mysql, trong bài viết này mình sẽ tổng hợp và hướng dẫn các bạn làm việc với kiểu date/time trong mysql

Tính toán và xử lý ngày tháng bằng câu lệnh SQL như thế nào?

  • Tác giả: bizflycloud.vn
  • Đánh giá: 5 ⭐ ( 8959 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL được biết đến là 1 trong những ngôn ngữ lập trình truy vấn có cấu trúc rất phổ biến hiện nay trong thế giới công nghệ. Trong SQL thì kiểu dữ liệu ngày tháng là kiểu dữ liệu thường gây ra khó khăn cho các lập trình viên khi thao tác.

DocumentSoftware: Hàm Datetime trong sql server

  • Tác giả: documentsoftware.blogspot.com
  • Đánh giá: 4 ⭐ ( 4210 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Sql Server: Hàm Lấy Giờ Trong Sql Server, Sql Server: Hàm Ngày Tháng Và Thời Gian

  • Tác giả: xechaydiendkbike.vn
  • Đánh giá: 4 ⭐ ( 9986 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu ngày tháng (date/time) không giống những kiểu dữ liệu nguyên thuỷ thông thường nên thường gây khó khăn cho các bạn lập trình viên nhất là khi thao tác với các câu lệnh mysql, trong bài viết này mình sẽ tổng hợp và hướng dẫn các bạn làm việc với kiểu date/time trong mysql 1, Kiểu dữ liệu ngày SQL

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  PHP - Lớp mở rộng - ví dụ mở rộng lớp php

By ads_php