Đây là hướng dẫn về Hàm ngày trong SQL. Ở đây chúng ta sẽ thảo luận chi tiết về Hàm ngày được sử dụng trong SQL với các Ví dụ và Kết quả đầu ra.

Bạn đang xem : sql sau điều kiện ngày

Hàm ngày trong SQL

Giới thiệu về Hàm Ngày trong SQL

Làm việc với cơ sở dữ liệu không quá khó vì người ta cần biết các truy vấn và từ khóa cơ bản sẽ được sử dụng để truy xuất, cập nhật và xóa dữ liệu trong cơ sở dữ liệu. SQL cho phép chúng ta lưu trữ dữ liệu có cấu trúc (dữ liệu ở dạng hàng và cột) và cung cấp các truy vấn đơn giản để làm việc trên đó. Trong chủ đề này, chúng ta sẽ thảo luận về Hàm ngày trong SQL.

Ngày tháng là một trong những hàm quan trọng nhất được sử dụng trong SQL, nhưng hơi khó đối với người mới hiểu nó vì có nhiều định dạng trong đó ngày tháng có thể được lưu trữ trong cơ sở dữ liệu và ở các định dạng khác nhau mà người dùng muốn truy xuất. nó tùy thuộc vào các yêu cầu cụ thể. Trong SQL, DateTime (thời gian cũng được sử dụng cùng với ngày tháng) thường được sử dụng để lưu trữ cả giá trị ngày và giờ tại một thời điểm trong một cột duy nhất.

Bắt đầu Khóa học Khoa học Dữ liệu Miễn phí của bạn

Hadoop, Khoa học Dữ liệu, Thống kê & amp; những người khác

Các hàm ngày của SQL

Hãy cùng tìm hiểu chi tiết từng hàm ngày được sử dụng trong SQL:

1. NGAY BÂY GIỜ ()

NOW () được sử dụng để trả về giá trị ngày và giờ của hệ thống hiện tại.

Truy vấn:

CHỌN NGAY BÂY GIỜ ();

Đầu ra: 2019-08-06 08:10:12

2. CURDATE ()

CURDATE () được sử dụng để trả về ngày hệ thống hiện tại.

Truy vấn:

CHỌN CURDATE ();

Đầu ra: 2019-08-06

3. CURTIME ()

CURTIME () được sử dụng để trả về thời gian hiện tại của hệ thống.

Truy vấn:

CHỌN CURTIME ();

Đầu ra: 08:10:12

4. DATE (expr)

Chỉ trích xuất phần ngày từ cột có giá trị DateTime.

Truy vấn:

CHỌN NGÀY (‘2019-08-06 08:10:12’);

Đầu ra : 2019-08-06

5. TRÍCH (đơn vị TỪ NGÀY)

Hàm EXTRACT () được sử dụng để truy xuất một phần cụ thể của giá trị ngày / giờ.

Hãy xem xét bảng sau “sinh viên” cho điều này:

id

tên
sinh nhật

1001
Ankita

2019-08-06 08:10:12

Truy vấn:

SELECT id, name, EXTRACT (DAY FRO từ sinh viên; M ngày sinh) AS day_of_birth

id

tên
day_of_birth

1001
Ankita

08

6. DATEADD (ngày, đơn vị thời hạn INTERVAL):

Hàm này được sử dụng trong các tình huống khi chúng ta muốn hiển thị ngày bằng cách thêm một số giá trị vào giá trị ban đầu. DATEADD (ngày, đơn vị thời hạn INTERVAL)

Truy vấn:

CHỌN DATEADD (‘2019-06-05’, INTERVAL 5 NGÀY);

Đầu ra: 2019-06-10

Đây là Đơn vị là DAY trong ví dụ trên, có thể có các giá trị khác nhau:

-MICROSECOND

-SECOND-DAY

-HOUR-TUẦN

-NGÀY NGHỈ

-MONTH-DAY

-HOUR-DAY

-SECOND-QUARTER

-MINUTE_SECOND

-HOUR_SECOND

7. DATEDIFF ()

Hàm này trả về sự khác biệt của số ngày từ date2 đến date1.

Xem Thêm  Làm cách nào để chèn khoảng trắng / tab trong văn bản bằng HTML / CSS? - cách thêm tab trong html

Truy vấn:

CHỌN DATEDIFF (‘2019-06-03’, ‘2019-06-05’);

Đầu ra: 2

8. DATE_FORMAT (ngày, định dạng)

Đây là một trong những hàm quan trọng được sử dụng trong SQL.

Hàm này trả về ngày tháng ở các định dạng khác nhau tùy thuộc vào từ định nghĩa mà người dùng đề cập.

Bộ định danh
Mô tả

%một
DIsplays tên viết tắt của ngày trong tuần (Chủ nhật-Thứ bảy)

% D
Hiển thị ngày trong tháng với hậu tố tiếng Anh (1, 2, 3 ..)

% d
Hiển thị ngày trong tháng ở dạng giá trị số (00..31)

% b
Tên tháng viết tắt của DIsplays (tháng 1-tháng 12)

%c
Hiển thị tháng ở dạng giá trị số (1, 2, 3…)

% h
Hiển thị giờ (01-12)

% H
Hiển thị giờ (00-23)

% m
Hiển thị tên tháng ở dạng số (0-12)

% M
Hiển thị tên tháng bằng tiếng Anh (tháng 1 đến tháng 12)

% w
Hiển thị ngày trong tuần (0-6)

% W
Hiển thị tên các ngày trong tuần (Chủ nhật-Thứ bảy)

%S
Hiển thị giây (00..59)

%S
Hiển thị giây (00..59)

% y
Hiển thị năm dạng số ở dạng hai chữ số

% Y
Hiển thị năm số bằng bốn chữ số

Truy vấn:

SELECT DATE_FORMAT (‘2019-06-03 09:40:05’,% W% M% y);

Đầu ra : Thứ Hai, ngày 19 tháng 6

9. DAYNAME (ngày)

Hàm này trả về tên của ngày cho ngày đã chỉ định.

Truy vấn:

DAYNAME (‘2019-06-03’);

Đầu ra : Thứ Hai

10. DAYOFMONTH (ngày)

Hàm này trả về ngày trong tháng cho ngày được chỉ định.

Truy vấn:

DAYOFMONTH (‘2019-06-03’);

Đầu ra: 3

11. DAYOFWEEK (ngày)

Hàm này trả về chỉ số ngày trong tuần của ngày đã cho. Các chỉ số được chỉ định là Chủ nhật = 1, Thứ Hai = 2, Thứ Ba = 3, v.v.

Truy vấn:

DAYOFWEEK (‘2019-06-03’);

Đầu ra: 2

12. DAYOFYEAR (ngày)

Hàm này trả về ngày của tháng trong một năm cho ngày được chỉ định. Phạm vi từ 1 đến 366.

Truy vấn:

DAYOFYEAR (‘2019-06-03’);

Đầu ra: 154

13. DATE_SUB (ngày, đơn vị thời hạn INTERVAL)

Hàm này được sử dụng để trừ các giá trị ngày / giờ nhất định cho ngày được chỉ định.

Truy vấn:

SELECT DATE_SUB (‘2019-06-03’, INTERVAL 4 DAY);

Đầu ra : 2019-05-31

Giống như hàm DATE_ADD (), có thể có nhiều giá trị INTERVAL khác nhau.

14. MAKEDATE (năm, ngày)

Hàm này tạo một ngày dựa trên năm và những ngày do người dùng cung cấp. Nhưng năm được cung cấp phải có 4 chữ số.

Truy vấn:

CHỌN MAKEDATE (2019,154);

Đầu ra: 2019-06-03

15. MAKETIME (giờ, phút, giây)

Hàm này trả về thời gian dựa trên giá trị giờ, phút và giây do người dùng cung cấp.

Truy vấn:

CHỌN MAKETIME (09,20,05);

Đầu ra : 09:20:05

Các chức năng ngày khác

S.N

o.

Chức năng

Tên

Mô tả
Ví dụ
Đầu ra

1.
LAST_DAY (ngày)
Lấy ngày hoặc giá trị DateTime và trả về ngày cuối cùng của tháng tương ứng
CHỌN LAST_DAY (‘2019-06-09’)
2019-06-30

2.
FROM_DAYS (n)
Lấy n số ngày làm đầu vào và trả về giá trị ngày
CHỌN TỪ_DAYS (685552)
1876-12-23

3.
HOUR (thời gian)
Lấy giá trị thời gian và trả về giá trị giờ
LỰA CHỌN

GIỜ (‘03: 24: 27’)

03

4.
MINUTE (thời gian)
Lấy giá trị thời gian làm đầu vào và trả về giá trị phút
LỰA CHỌN

PHÚT (‘03: 27: 24’)

27

5.
Ngày tháng)
Lấy ngày làm đầu vào và trả về tháng tương ứng của ngày đã cho
LỰA CHỌN

Xem Thêm  Scrum Guides - scrum là gì

THÁNG (‘2019-06-09’)

06

6.
SYSDATE ()
Trả về giá trị ngày và giờ hiện tại ở định dạng YYYY MM

DD HH: MM: SS

CHỌN SYSDATE ()
2019-06-09 11:15:08

7.
TIME_TO_SEC (thời gian)
Lấy thời gian làm đầu vào và trả về tổng số giây tương ứng với thời gian đó
LỰA CHỌN

TIME_TO_SEC (‘11: 15

: 10 ’)

40510

số 8.
NĂM (ngày)
Lấy ngày làm đầu vào và trả về năm cho ngày tương ứng
CHỌN NĂM

(‘19 -06-09 ’)

2019

trong khoảng 1000-9999

9.
TIMESTAMP (expr)
Trả về ngày tháng hoặc biểu thức ngày giờ
CHỌN THỜI GIAN

(‘2019-06-09’)

2019-06-09 00:00:00

10.
WEEKDAY (ngày)
Lấy ngày làm đầu vào và trả về chỉ số ngày trong tuần tương ứng với ngày đó (0 = Thứ Hai, 1 = Thứ Ba, 2 =

Thứ Tư, v.v.)

CHỌN TUẦN

(‘2019-06-09’)

6

Kết luận

Ở trên đã đề cập là một số hàm ngày cơ bản được sử dụng trong SQL. Có một số hàm ngày khác được sử dụng trong các tình huống khác nhau. Bạn cần phải ghi nhớ cú pháp và đối số được truyền trong hàm trước khi sử dụng bất kỳ cú pháp nào để tránh kết quả không mong muốn.

Các bài báo được đề xuất

Đây là hướng dẫn về Hàm ngày trong SQL. Ở đây chúng ta sẽ thảo luận chi tiết về Hàm ngày được sử dụng trong SQL với các Ví dụ và Kết quả đầu ra. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề sql sau điều kiện ngày

SQL Date Comparison – How to filter Datetime in SQL Server – Quick Tips Ep38

alt

  • Tác giả: Joey Blue
  • Ngày đăng: 2012-10-25
  • Đánh giá: 4 ⭐ ( 5977 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL Date Comparison – How to filter Datetime in SQL Server – SQL Training Online

    In this video, I show you how to do a SQL Date Comparison in SQL Server when your Datetime has an actual time in it.

    TABLE OF CONTENTS
    00:00 – Intro
    01:10 – Date Filter with No Time
    02:17 – Date Filter with Time using Range
    04:20 – Date Filter using DateAdd() Function
    07:00 – Date Filter using CAST as Date

    DESCRIPTION
    How do you compare a Datetime in SQL Server?

    A SQL Datetime stores both Date and Time. So when you are filtering using the SQL Where clause, you have to know if you Datetime is storing the time also.

    Let’s take a look at the employee table in SQL Training Online Simple DB

    The column we are looking at is the hire date. I want to go after the person who was hired on February, 22 2005. So, I use the following SQL.

    select *
    from employee
    where hire_date=’02/22/2005′

    Now, this works because we don’t have any times stored in this column. But, if I change the record from 2005-02-22 00:00:00.000 to 2005-02-22 08:22:25.000 and rerun the query, you see that I don’t get any results.

    That is because the value of 02/22/2005 is really 2005-02-22 00:00:00.000 and I just changed the hire_date to include a time other than 00:00:00.000.

    So, I have to tweak my query to use a greater than and less than sign.

    This works. But, to really understand what is going on, let me show you what SQL Server really sees.

    There are other ways, and in this StackOverflow article you can read more about these other ways. But, I want to point out a few.

    If you are working in SQL Server 2005 or earlier, the following is supposed to be the fastest performing way to do this.

    select datediff(dd,0, hire_date),*
    from employee
    where dateadd(dd,0, datediff(dd,0, hire_date)) = ‘2005-02-22’

    But, if you are working in SQL Server 2008 or SQL Server 2012, they have introduced an actual Date datatype that doesn’t include the Time portion. Since this is the case, you can use the CAST function to remove the time from the Datetime.

    Here is the SQL to do that.

    select *
    from employee
    where CAST(hire_date AS Date) = ‘2005-02-22’

    And that’s it.

    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

[Tự học SQL] Làm việc với kiểu ngày, giờ(Date) trong SQL

  • Tác giả: cafedev.vn
  • Đánh giá: 3 ⭐ ( 7157 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các dữ liệu khác có thể đơn giản, nhưng đối với kiểu ngày, giờ sẽ có nhiều khó khăn cho người mới dùng nó. Vì vậy cafedev chia sẻ cho ace một số kiến thức và kinh nghiệm khi làm việc với kiểu này.

EXISTS Trong SQL

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 4 ⭐ ( 9237 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Toán tử **EXISTS** được sử dụng để kiểm tra sự tồn tại của bất kỳ bản ghi nào trong truy vấn phụ.

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á: 4 ⭐ ( 4377 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.

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

  • Tác giả: final-blade.com
  • Đánh giá: 3 ⭐ ( 5013 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Nhận ngày đầu tiên trong tuần trong SQL Server

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 2861 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Để trả lời tại sao bạn lại nhận được Thứ Hai mà không phải là Chủ…

Câu lệnh truy vấn SQL có điều kiện thời gian

  • Tác giả: howkteam.vn
  • Đánh giá: 4 ⭐ ( 2204 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kteam Solutions, Với mong muốn mang đến kiến thức chất lượng, miễn phí cho mọi người, với tâm huyết phá bỏ rào cản kiến thức từ việc giáo dục thu phí. Chúng tôi – Kteam đã lập nên trang website này để thế giới phẳng hơn.

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  10 Mẹo dành cho nhà phát triển SQL hàng đầu cho năm 2020 - nhà phát triển sql chọn top 10

By ads_php