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ề datetime trong 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 đẹp 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ụ: hãy để chúng tôi chuyển ngày 2020-02-12 vào 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.
    • 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 1 tuần mỗi lần bằng cách sử dụng hàm DATEADD () cho đến khi chúng ta đến ngày cuối cùng được 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 ngày được chỉ định dải ô.
    • 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ể

    • Trong truy vấn trên, tôi đã chuyển ngày trong 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 được chỉ định là cần thiết để được đặt giữa các dấu ngoặc kép.
    • Ngoài ra, bạn có thể thấy đị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.

    < p class = "ezoic-ad leader-2 leader-2114 adtester-container adtester-container-114">

    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 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ụ datetime trong sql

How to Use Datetime in SQL – SQL Training Online – Quick Tips Ep33

alt

  • Tác giả: Joey Blue
  • Ngày đăng: 2012-10-19
  • Đánh giá: 4 ⭐ ( 3888 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: How to use a Datetime in SQL.

    The datetime is actually made up of two different pieces:
    1) Date
    2) Time

    This can be demonstrated using the SQL Cast function on a string to convert it to a datetime.

    Here is some SQL for the Date portion:
    select cast(‘20121019’ as datetime)

    Here is some SQL for the Time portion:
    select cast(’10:05:00′ as datetime)

    Now, you can also simply use the built-in getdate() function to bring back the current system time.

    select getdate()

    And finally, I want to bring back a datetime from an actual table.
    In this case, we will use the employee table from the SQL Training Online Simple DB:
    select hire_date from employee

    If we want to convert the result to a more formatted string, we will use the TSQL CONVERT function:

    select convert(varchar,hire_date,104)
    from employee

    In this example, we are converting from a datetime to a varchar (string). The result will be in the format of 104.

    To translate 104 to a datetime format, you will want to look at the MSDN Documentation.

    If you enjoy the video, please give it a like, comment, or subscribe to my channel.

    READ THE ORIGINAL ARTICLE WITH SQL SCRIPTS HERE
    http://www.sqltrainingonline.com/

    YOUTUBE NEWS UPDATES
    http://www.youtube.com/user/sqltrainingonline

    VISIT SQLTRAININGONLINE.COM FOR MORE VIDEO NEWS & TIPS
    http://www.sqltrainingonline.com

    SUBSCRIBE FOR OTHER SQL TIPS AND NEWS!
    http://www.youtube.com/subscription_center?add_user=sqltrainingonline

    SUBSCRIBE TO OUR EMAIL LIST!
    http://www.sqltrainingonline.com

    LET’S CONNECT!
    Facebook: http://facebook.com/SQLTrainingOnline
    Twitter: http://twitter.com/sql_by_joey
    Linkedin: http://linkedin.com/in/joeyblue
    SQLTrainingOnline: http://www.sqltrainingonline.com

Insert và Update ngày giờ trong SQL

  • Tác giả: www.ddth.com
  • Đánh giá: 5 ⭐ ( 1298 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mình có vấn đề thế này.
    Mình tạo 1 Table trong SQL 2005 để lưu ngày và giờ của việc nhập và xuất hàng. Người dùng sẽ nhập vào ngày, giờ, phút. Ví dụ: 4 giờ 30 ngày 22 tháng 05 năm 2010. Công việc sẽ là lưu lại ngày giờ đó vào SQL.

    Mình không biết cách lưu ngày giờ đó vào SQL như nào. Nếu dùng kiểu dữ liệu là datetime thì nó sẽ lưu ngày giờ khi mình insert. Vậy trong trường hợp người dùng nhập sai, mình muốn Update lại giờ của ngày nào đó thì phải làm sao?

    Có ai biết cách làm này không

Sự khác nhau giữa GETDATE(), SYSDATETIME() với GETUTCDATE() và cách so sánh Date trong SQL Server

  • Tác giả: viblo.asia
  • Đánh giá: 3 ⭐ ( 3737 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: I. Sự khác nhau giữa GETDATE() vs SYSDATETIME() vs GETUTCDATE() Một trong các câu hỏi thường thấy về MS SQL Server đó là sự khác nhau giữa 3 hàm GETDATE(), SYSDATETIME() và GETUTCDATE(). Mặc dù cả 3…

Xử lý Date trong SQL

  • Tác giả: viettuts.vn
  • Đánh giá: 4 ⭐ ( 2956 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bảng dưới đây liệt kê tất cả các hàm xử lý Date trong SQL. Ngoài những hàm quan trong dưới đây, có nhiều hàm khác được hỗ trợ bởi các RDBMS khác nhau.

Kiểu dữ liệu DATETIME2 trong SQL Server

  • Tác giả: comdy.vn
  • Đánh giá: 5 ⭐ ( 2280 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, bạn sẽ học cách sử dụng DATETIME2 trong SQL Server để lưu trữ cả dữ liệu ngày và giờ trong một bảng.

Hàm xử lý Date và Time trong SQL

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 6414 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm xử lý Date và Time trong SQL – Học SQL cơ bản nâng cao. Học SQL trực tuyến theo các bước từ Khái niệm về database, Cú pháp SQL, Truy vấn SELECT, Truy vấn INSERT, Lệnh DELETE, Truy vấn UPDATE, Ràng buộc (Constraint), Truy vấn DROP, Lệnh TRUNCATE, Từ khóa DISTINCT, Mệnh đề ORDER BY, Mệnh đề GROUP BY, Mệnh đề WHERE, Sử dụng Join, Sử dụng View, Sử dụng Sequence, Transaction, Hàm xử lý, Bảng tạm, Toán tử.

Truy vấn Sql để chèn datetime trong SQL Server

  • Tác giả: qastack.vn
  • Đánh giá: 5 ⭐ ( 7326 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Bạn sẽ muốn sử dụng YYYYMMDD để xác định ngày rõ ràng trong SQL Server. insert…

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  Cách sử dụng HTML để mở liên kết trong tab mới - thẻ href mở trong tab mới

By ads_php