<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Hàm xử lý DATE&#x002F;TIME trong SQL - Phần 2</title>
<meta name="description" content="Hàm xử lý DATE&#x002F;TIME trong SQL - Phần 2 - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Hàm xử lý DATE&#x002F;TIME trong SQL - Phần 2">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;ham-xu-ly-date-time-trong-sql-phan-2-8936.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-xu-ly-date-time-trong-sql-phan-2-8936.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-xu-ly-date-time-trong-sql-phan-2-8936.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Hàm xử lý DATE&#x002F;TIME trong SQL - Phần 2</h1>
		<ul class="list-inline">
			<li>Thứ năm - 29/08/2024 23:34</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Hàm xử lý DATE&#x002F;TIME trong SQL - Phần 2" src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-1.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p><strong>Hàm Curdate trong SQL, hàm Extract trong SQL</strong>&nbsp;chỉ là một phần nhỏ trong số hàm SQL bạn cần biết. Ở bài viết này, hãy cùng nhau tìm hiểu chi tiết hơn về<strong>&nbsp;hàm DATE/TIME</strong>&nbsp;được sử dụng phổ biến trong lập trình SQL nhé!</p>

<p>&nbsp;</p>
<br />
<img alt="Các hàm xử lý Date/Time trong SQL" data-adbro-processed="true" data-i="0" data-src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-1.jpg" data-was-processed="true" height="429" src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-1.jpg" width="626" />
<p>Nếu đang tìm kiếm hàm format date trong SQL thì bạn đã tới đúng địa chỉ. Bài viết sẽ cung cấp cho bạn những kiến thức cần biết về hàm ngày tháng và thời gian trong SQL.</p>

<p>Hàm DATE &amp; TIME được tích hợp sẵn trong SQL, cho phép bạn thao tác và thực hiện những hoạt động theo giá trị ngày tháng và thời gian trong SQL. Những hàm này có thể được dùng trong các truy vấn SQL để thực hiện những hoạt động ngày tháng &amp; thời gian khác nhau, chẳng hạn như lọc bản ghi dựa trên ngày tháng, tính sự khác biệt giữa ngày tháng và định dạng ngày tháng cho mục đích hiển thị.</p>

<p>Phần khó nhất khi làm việc với hàm các hàm date trong SQL là bạn cần đảm bảo định dạng ngày tháng định chèn, khớp với định dạng cột ngày tháng trong database.</p>
&nbsp;

<p>Miễn là dữ liệu của bạn chỉ chứa phần ngày tháng, các truy vấn sẽ luôn hoạt động như mong đợi. Tuy nhiên, nếu bao gồm phần giờ, cách sử dụng nó sẽ phức tạp hơn.</p>

<h2>Các kiểu hàm Date trong SQL</h2>

<table cellpadding="1" cellspacing="1">
	<tbody>
		<tr>
			<td width="141">
			<p><strong>Hàm</strong></p>
			</td>
			<td>
			<p><strong>Mô tả</strong></p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>NOW()</a></p>
			</td>
			<td>
			<p>Trả về ngày &amp; giờ hiện tại</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>CURDATE()</a></p>
			</td>
			<td>
			<p>Trả về ngày hiện tại</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>CURTIME()</a></p>
			</td>
			<td>
			<p>Trả về về giờ hiện tại</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>DATE()</a></p>
			</td>
			<td>
			<p>Trích xuất phần ngày tháng trong biểu thức date hoặc date/time</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>EXTRACT()</a></p>
			</td>
			<td>
			<p>Trả về một phần của ngày/giờ</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>DATE_ADD()</a></p>
			</td>
			<td>
			<p>Thêm khoảng thời gian cụ thể cho ngày tháng</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>DATE_SUB()</a></p>
			</td>
			<td>
			<p>Trừ một khoảng thời gian cụ thể tính từ ngày tháng hiện tại</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>DATEDIFF()</a></p>
			</td>
			<td>
			<p>Trả về số ngày giữa hai ngày</p>
			</td>
		</tr>
		<tr>
			<td>
			<p><a>DATE_FORMAT()</a></p>
			</td>
			<td>
			<p>Hiện dữ liệu ngày giờ ở các định dạng khác nhau</p>
			</td>
		</tr>
	</tbody>
</table>

<p>SQL còn đi kèm với các kiểu dữ liệu sau để lưu trữ giá trị ngày hoặc ngày/giờ trong database:</p>

<ul>
	<li>DATE - định dạng YYYY-MM-DD</li>
	<li>DATETIME - định dạng: YYYY-MM-DD HH:MI:SS</li>
	<li>TIMESTAMP - định dạng: YYYY-MM-DD HH:MI:SS</li>
	<li>YEAR - định dạng YYYY hoặc YY</li>
</ul>

<h2 id="mcetoc_1d6fh8dpe0">Hàm ADDDATE()</h2>

<p>Có 2 dạng hàm ADDDATE:</p>

<ul>
	<li>ADDDATE(date, interval expr unit)</li>
	<li>ADDDATE(expr, day)</li>
</ul>

<p><strong>1. ADDDATE(expr, day)</strong></p>
<iframe allow="autoplay" allowtransparency="true" aria-label="Advertisement" data-google-container-id="a!3" data-google-query-id="CJzR3pXkm4gDFS1PwgUd2qUSIQ" data-load-complete="true" frameborder="0" height="0" hspace="0" id="aswift_2" marginheight="0" marginwidth="0" name="aswift_2" sandbox="allow-scripts allow-same-origin allow-forms allow-presentation allow-popups" scrolling="no" tabindex="0" title="Advertisement" vspace="0" width="478"></iframe>

<p>Thêm một khoảng thời gian nhất định vào tham số thời gian được truyền.</p>

<ul>
	<li><em>expr:</em>&nbsp;khoảng thời gian bạn muốn thay đổi.</li>
	<li><em>day:</em>&nbsp;một số nguyên ngày bạn muốn thêm vào biểu thức expr.</li>
</ul>

<pre id="pre0">
mysql&gt; SELECT ADDDATE(&#039;2019-01-02&#039;, 31);
+---------------------------------------------------------+
| ADDDATE(&#039;2019-01-02&#039;, 31)                               |
+---------------------------------------------------------+
| 2019-02-02                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p><strong>2. ADDDATE(date, interval expr unit)</strong></p>

<p>Khi đối số thứ hai được gọi dưới dạng INTERVAL,&nbsp;<strong>hàm ADDDATE()</strong>&nbsp;có chức năng giống&nbsp;<strong>hàm</strong>&nbsp;<strong>DATE_ADD()</strong>.</p>

<p>Ví dụ hàm DATE_ADD sử dụng như này:</p>

<pre id="pre1">
mysql&gt; SELECT DATE_ADD(&#039;2019-01-02&#039;, INTERVAL 31 DAY);
+---------------------------------------------------------+
| DATE_ADD(&#039;2019-01-02&#039;, INTERVAL 31 DAY)                 |
+---------------------------------------------------------+
| 2019-02-02                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Và ADDDATE có chức năng tương tự:</p>

<p><img alt="Hàm ADDDATE() trong SQL" data-i="1" data-src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-5.jpg" data-was-processed="true" height="191" src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-5.jpg" width="647" /></p>

<h2 id="mcetoc_1d6fh8dpe1">Hàm ADDTIME()</h2>

<p><strong>ADDTIME()</strong>&nbsp;trong SQL có dạng:<strong>&nbsp;ADDTIME(expr1,expr2).</strong></p>

<p>Hàm này cộng giá trị&nbsp;<em>expr2</em>&nbsp;vào&nbsp;<em>expr1</em>&nbsp;và trả về kết quả.&nbsp;<em>Expr1</em>&nbsp;là một biểu thức dạng&nbsp;<em>time</em>&nbsp;hoặc&nbsp;<em>datetime,</em>&nbsp;còn&nbsp;<em>expr2</em>&nbsp;là một biểu thức&nbsp;<em>time.</em></p>

<pre id="pre2">
mysql&gt; SELECT ADDTIME(&#039;2018-12-31 23:59:59.999999&#039;,&#039;1 1:1:1.000002&#039;);
+---------------------------------------------------------+
| DATE_ADD(&#039;2018-12-31 23:59:59.999999&#039;,&#039;1 1:1:1.000002&#039;) |
+---------------------------------------------------------+
| 2019-01-02 01:01:01.000001                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe2">Hàm CONVERT_TZ()</h2>

<p><strong>CONVERT_TZ()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>CONVERT_TZ(dt,from_tz,to_tz)</strong>.</p>

<p>Hàm này được sử dụng để chuyển đổi giá trị&nbsp;<em>datetime dt</em>&nbsp;từ múi giờ&nbsp;<em>from_tz</em>&nbsp;thành múi giờ&nbsp;<em>to_tz</em>&nbsp;và trả về kết quả.&nbsp;<strong>CONVERT_TZ()</strong>&nbsp;trả về&nbsp;<em>NULL</em>&nbsp;nếu các đối số không hợp lệ.</p>

<p><strong>Ví dụ 1:</strong></p>

<pre id="pre3">
mysql&gt; SELECT CONVERT_TZ(&#039;2019-01-01 12:00:00&#039;,&#039;GMT&#039;,&#039;MET&#039;);
+---------------------------------------------------------+
| CONVERT_TZ(&#039;2019-01-01 12:00:00&#039;,&#039;GMT&#039;,&#039;MET&#039;)           |
+---------------------------------------------------------+
| 2019-01-01 13:00:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>
<iframe allow="autoplay" allowtransparency="true" aria-label="Advertisement" data-google-container-id="a!4" data-google-query-id="CI2Sn5zkm4gDFZFFwgUdo_4waA" data-load-complete="true" frameborder="0" height="0" hspace="0" id="aswift_3" marginheight="0" marginwidth="0" name="aswift_3" sandbox="allow-scripts allow-same-origin allow-forms allow-presentation allow-popups" scrolling="no" tabindex="0" title="Advertisement" vspace="0" width="478"></iframe>

<p><strong>Ví dụ 2:</strong></p>

<pre id="pre4">
mysql&gt; SELECT CONVERT_TZ(&#039;2019-01-01 12:00:00&#039;,&#039;+00:00&#039;,&#039;+10:00&#039;);
+---------------------------------------------------------+
| CONVERT_TZ(&#039;2019-01-01 12:00:00&#039;,&#039;+00:00&#039;,&#039;+10:00&#039;)     |
+---------------------------------------------------------+
| 2019-01-01 22:00:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe3">Hàm CURDATE()</h2>

<p><strong>CURDATE()</strong>&nbsp;trong SQL trả về ngày hiện tại có định dạng ‘<em>YYYY-MM-DD</em>’ hoặc&nbsp;<em>YYYYMMDD,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<pre id="pre5">
mysql&gt; SELECT CURDATE();
+---------------------------------------------------------+
| CURDATE()                                               |
+---------------------------------------------------------+
| 2019-03-15                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql&gt; SELECT CURDATE() + 0;
+---------------------------------------------------------+
| CURDATE() + 0                                           |
+---------------------------------------------------------+
| 20190315                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe4">Hàm CURRENT_DATE()</h2>

<p><strong>CURRENT_DATE hay CURRENT_DATE()</strong>&nbsp;trong SQL trả về ngày hiện tại có định dạng &#039;<em>YYYY-MM-DD</em>&#039; hoặc&nbsp;<em>YYYYMMDD,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<p>Hàm này sử dụng tương tự như<strong>&nbsp;<a href="https://quantrimang.com/ham-xu-ly-date-time-trong-sql-phan-2-162460#mcetoc_1d6fh8dpe3" title="Hàm CURDATE()">CURDATE()</a></strong>.</p>

<pre id="pre6">
mysql&gt; SELECT CURRENT_DATE;
+---------------------------------------------------------+
| CURRENT_DATE                                            |
+---------------------------------------------------------+
| 2019-03-15                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql&gt; SELECT CURRENT_DATE() + 1;
+---------------------------------------------------------+
| CURRENT_DATE() + 1                                      |
+---------------------------------------------------------+
| 20190316                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe5">Hàm CURTIME()</h2>

<p><strong>CURTIME()&nbsp;</strong>trong SQL trả về thời gian hiện tại dưới dạng giá trị &#039;<em>HH: MM: SS</em>&#039; hoặc&nbsp;<em>HHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<pre id="pre7">
mysql&gt; SELECT CURTIME();
+---------------------------------------------------------+
| CURTIME()                                               |
+---------------------------------------------------------+
| 14:50:26                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql&gt; SELECT CURTIME() + 0;
+---------------------------------------------------------+
| CURTIME() + 0                                           |
+---------------------------------------------------------+
| 145026                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe6">Hàm CURRENT_TIME()</h2>

<p><strong>Hàm CURRENT_TIME hay CURRENT_TIME()</strong>&nbsp;trong SQL trả về thời gian hiện tại dưới dạng giá trị &#039;<em>HH: MM: SS</em>&#039; hoặc&nbsp;<em>HHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>
&nbsp;

<p>Hàm này sử dụng tương tự như&nbsp;<strong>CURTIME().</strong></p>

<h2 id="mcetoc_1d6fh8dpe7">Hàm CURRENT_TIMESTAMP()</h2>

<p><strong>Hàm CURRENT_TIMESTAMP hay CURRENT_TIMESTAMP()</strong>&nbsp;trong SQL trả về&nbsp;<em>datetime</em>&nbsp;hiện tại dưới dạng một giá trị trong định dạng ‘<em>YYYY-MM-DD HH: MM: SS</em>’ hoặc&nbsp;<em>YYYYMMDHHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<p>Hàm này sử dụng tương tự như&nbsp;<strong>NOW().</strong></p>

<pre id="pre8">
mysql&gt; SELECT CURRENT_TIMESTAMP;
+---------------------------------------------------------+
| CURRENT_TIMESTAMP                                       |
+---------------------------------------------------------+
| 2019-03-15 07:36:12                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe8">Hàm DATE()</h2>

<p><strong>DATE()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DATE(expr).</strong></p>

<p><strong>Hàm DATE()</strong>&nbsp;trả về phần ngày của biểu thức&nbsp;<em>expr</em>&nbsp;dưới dạng&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>datetime</em>&nbsp;được truyền vào.</p>

<pre id="pre9">
mysql&gt; SELECT DATE(&#039;2019-12-31 01:02:03&#039;);
+---------------------------------------------------------+
| DATE(&#039;2019-12-31 01:02:03&#039;)                             |
+---------------------------------------------------------+
|  2019-12-31                                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe9">Hàm DATEDIFF()</h2>

<p><strong>DATEDIFF()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DATEDIFF (expr1, expr2).</strong></p>

<p>Hàm này trả về chênh lệch giữa hai giá trị thời gian dựa trên khoảng thời gian được chỉ định&nbsp;<em>expr1</em>&nbsp;và&nbsp;<em>expr2.</em>&nbsp;Hai giá trị thời gian này phải là biểu thức dưới dạng&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>datetime.</em>&nbsp;Chỉ tính phần ngày của các giá trị được sử dụng trong tính toán.</p>

<pre id="pre10">
mysql&gt; SELECT DATEDIFF(&#039;2019-12-31 23:59:59&#039;,&#039;2019-12-30&#039;);
+---------------------------------------------------------+
| DATEDIFF(&#039;2019-12-31 23:59:59&#039;,&#039;2019-12-30&#039;)            |
+---------------------------------------------------------+
| 1                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre11">
mysql&gt; SELECT DATEDIFF(&#039;2019-01-12 23:59:59&#039;,&#039;2019-02-12 23:59:59&#039;);
+---------------------------------------------------------+
| DATEDIFF(&#039;2019-01-12 23:59:59&#039;,&#039;2019-02-12 23:59:59&#039;)   |
+---------------------------------------------------------+
| -31                                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpea">Hàm DATE_ADD()</h2>

<p><strong>DATE_ADD()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DATE_ADD(date,INTERVAL expr unit).</strong></p>

<p><strong>Hàm DATE_ADD()</strong>&nbsp;dùng để thực hiện phép toán cộng &#039;+&#039; số học trên date.</p>

<ul>
	<li>Tham số&nbsp;<em>date</em>&nbsp;là một giá trị&nbsp;<em>DATE</em>&nbsp;hoặc&nbsp;<em>DATETIME</em>&nbsp;xác định thời gian ban đầu.</li>
	<li>Tham số&nbsp;<em>expr</em>&nbsp;là một biểu thức xác định giá trị khoảng thời gian được cộng vào từ&nbsp;<em>date</em>&nbsp;ban đầu,&nbsp;<em>expr</em>&nbsp;là một chuỗi; nó có thể bắt đầu với một dấu &#039;-&#039; cho khoảng thời gian âm.</li>
	<li><em>unit</em>&nbsp;là một từ khóa chỉ các đơn vị trong biểu thức sẽ được thông dịch.</li>
</ul>

<p>Từ khóa&nbsp;<em>INTERVAL</em>&nbsp;và&nbsp;<em>unit</em>&nbsp;không phân biệt chữ hoa chữ thường.</p>

<p>Bảng dưới đây cho thấy định dạng của đối số&nbsp;<em>expr</em>&nbsp;cho mỗi giá trị&nbsp;<em>unit.</em></p>

<table border="1">
	<tbody>
		<tr>
			<td><strong>GIÁ TRỊ UNIT</strong></td>
			<td><strong>ĐỊNH DẠNG CỦA EXPR</strong></td>
		</tr>
		<tr>
			<td>MICROSECOND</td>
			<td>MICROSECOND - Micro giây</td>
		</tr>
		<tr>
			<td>SECOND</td>
			<td>SECOND - Giây</td>
		</tr>
		<tr>
			<td>MINUTE</td>
			<td>MINUTE - Phút</td>
		</tr>
		<tr>
			<td>HOUR</td>
			<td>HOUR - Giờ</td>
		</tr>
		<tr>
			<td>DAY</td>
			<td>DAY - Ngày</td>
		</tr>
		<tr>
			<td>WEEK</td>
			<td>WEEK - Tuần</td>
		</tr>
		<tr>
			<td>MONTH</td>
			<td>MONTH - Tháng</td>
		</tr>
		<tr>
			<td>QUARTER</td>
			<td>QUARTER - Quý</td>
		</tr>
		<tr>
			<td>YEAR</td>
			<td>YEAR - Năm</td>
		</tr>
		<tr>
			<td>SECOND_MICROSECOND</td>
			<td>&#039;SECOND.MICROSECOND&#039; - Giây.Micro giây</td>
		</tr>
		<tr>
			<td>MINUTE_MICROSECOND</td>
			<td>&#039;MINUTE.MICROSECOND&#039; - Phút.Micro giây</td>
		</tr>
		<tr>
			<td>MINUTE_SECOND</td>
			<td>&#039;MINUTE:SECOND&#039; - Phút:Giây</td>
		</tr>
		<tr>
			<td>HOUR_MICROSECOND</td>
			<td>&#039;HOUR.MICROSECOND&#039; - Giờ.Micro giây</td>
		</tr>
		<tr>
			<td>HOUR_SECOND</td>
			<td>&#039;HOUR:MINUTES:SECOND&#039; - Giờ:Phút:Giây</td>
		</tr>
		<tr>
			<td>HOUR_MINUTE</td>
			<td>&#039;HOUR:MINUTE&#039; - Giờ:Phút</td>
		</tr>
		<tr>
			<td>DAY_MICROSECOND</td>
			<td>&#039;DAY.MICROSECOND&#039; - Ngày.Micro giây</td>
		</tr>
		<tr>
			<td>DAY_SECOND</td>
			<td>&#039;DAY HOUR:MINUTE:SECOND&#039; - Ngày Giờ:Phút:Giây</td>
		</tr>
		<tr>
			<td>DAY_MINUTE</td>
			<td>&#039;DAY HOUR:MINUTE&#039; - Ngày Giờ:Phút</td>
		</tr>
		<tr>
			<td>DAY_HOUR</td>
			<td>&#039;DAY HOUR&#039; - Ngày Giờ</td>
		</tr>
		<tr>
			<td>YEAR_MONTH</td>
			<td>&#039;YEAR-MONTH&#039; - Năm-Tháng</td>
		</tr>
	</tbody>
</table>

<p>Các giá trị&nbsp;<em>QUARTER</em>&nbsp;và&nbsp;<em>WEEK</em>&nbsp;bắt đầu có từ phiên bản&nbsp;<em>MySQL 5.0.0</em>.</p>

<pre id="pre12">
mysql&gt; SELECT DATE_ADD(&#039;2019-12-31 23:59:59&#039;, INTERVAL &#039;1:1&#039; MINUTE_SECOND);
+---------------------------------------------------------+
| DATE_ADD(&#039;2019-12-31 23:59:59&#039;, INTERVAL...             |
+---------------------------------------------------------+
| 2020-01-01 00:01:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql&gt; SELECT DATE_ADD(&#039;2019-01-01&#039;, INTERVAL 1 HOUR);
+---------------------------------------------------------+
| DATE_ADD(&#039;2019-01-01&#039;, INTERVAL 1 HOUR)                 |
+---------------------------------------------------------+
| 2019-01-01 01:00:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>
<iframe allow="autoplay" allowtransparency="true" aria-label="Advertisement" data-google-container-id="a!6" data-google-query-id="COiF053km4gDFaNHwgUdmDgs5A" data-load-complete="true" frameborder="0" height="0" hspace="0" id="aswift_5" marginheight="0" marginwidth="0" name="aswift_5" sandbox="allow-scripts allow-same-origin allow-forms allow-presentation allow-popups" scrolling="no" tabindex="0" title="Advertisement" vspace="0" width="478"></iframe>

<h2 id="mcetoc_1d6fh8dpeb">Hàm DATE_SUB()</h2>

<p><strong>DATE_SUB()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DATE_SUB(date,INTERVAL expr unit).</strong></p>

<p><strong>Hàm DATE_SUB()</strong>&nbsp;dùng để thực hiện phép toán trừ &#039;-&#039; số học trên date.</p>

<ul>
	<li>Tham số&nbsp;<em>date</em>&nbsp;là một giá trị&nbsp;<em>DATE</em>&nbsp;hoặc&nbsp;<em>DATETIME</em>&nbsp;xác định thời gian ban đầu.</li>
	<li>Tham số&nbsp;<em>expr</em>&nbsp;là một biểu thức xác định giá trị khoảng thời gian bị trừ từ date ban đầu,&nbsp;<em>expr</em>&nbsp;là một chuỗi; nó có thể bắt đầu với một dấu &#039;-&#039;.</li>
	<li><em>unit</em>&nbsp;là một từ khóa chỉ các đơn vị trong biểu thức sẽ được thông dịch.</li>
</ul>

<p>Từ khóa&nbsp;<em>INTERVAL</em>&nbsp;và&nbsp;<em>unit</em>&nbsp;không phân biệt chữ hoa chữ thường.</p>

<p>Định dạng của đối số&nbsp;<em>expr</em>&nbsp;cho mỗi giá trị unit tương tự như&nbsp;<strong>hàm DATE_ADD()</strong>.</p>

<p>Các giá trị&nbsp;<em>QUARTER</em>&nbsp;và&nbsp;<em>WEEK</em>&nbsp;bắt đầu có từ phiên bản&nbsp;<em>MySQL 5.0.0.</em></p>

<pre id="pre13">
mysql&gt; SELECT DATE_SUB(&#039;2019-06-15&#039;, INTERVAL -10 DAY); 
+---------------------------------------------------------+
| SELECT DATE_SUB(&#039;2019-06-15&#039;, INTERVAL -10 DAY);        |
+---------------------------------------------------------+
| 2019-06-25                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql&gt; SELECT DATE_SUB(&#039;2019-12-31 23:59:59&#039;, INTERVAL &#039;1:1&#039; MINUTE_SECOND);
+---------------------------------------------------------+
| DATE_SUB(&#039;2019-12-31 23:59:59&#039;, INTERVAL...             |
+---------------------------------------------------------+
| 2019-12-31 23:58:58                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpec">Hàm DATE_FORMAT()</h2>

<p><strong>DATE_FORMAT()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DATE_FORMAT(date,format)</strong>&nbsp;dùng để định dạng giá trị&nbsp;<em>date</em>&nbsp;theo chuỗi&nbsp;<em>format.</em></p>

<p>Dưới đây là các specifier có thể được sử dụng trong chuỗi&nbsp;<em>format.</em>&nbsp;Ký tự &#039;%&#039; là bắt buộc trước các ký tự specifier này.</p>

<table border="1">
	<tbody>
		<tr>
			<td><strong>Specifier</strong></td>
			<td><strong>Giải thích</strong></td>
		</tr>
		<tr>
			<td>%a</td>
			<td>Tên ngày trong tuần viết tắt (Sun..Sat)</td>
		</tr>
		<tr>
			<td>%b</td>
			<td>Tên tháng viết tắt (Jan..Dec)</td>
		</tr>
		<tr>
			<td>%c</td>
			<td>Tháng, dạng giá trị số (0..12)</td>
		</tr>
		<tr>
			<td>%D</td>
			<td>Ngày tháng theo số đếm (0th, 1st, 2nd, 3rd,…)</td>
		</tr>
		<tr>
			<td>%d</td>
			<td>Ngày trong tháng, dạng giá trị số (00..31)</td>
		</tr>
		<tr>
			<td>%e</td>
			<td>Ngày trong tháng, dạng giá trị số (0..31)</td>
		</tr>
		<tr>
			<td>%f</td>
			<td>Microsecond (000000..999999)</td>
		</tr>
		<tr>
			<td>%H</td>
			<td>Giờ, dạng giá trị (00..23)</td>
		</tr>
		<tr>
			<td>%h</td>
			<td>Giờ, dạng giá trị (01..12)</td>
		</tr>
		<tr>
			<td>%I</td>
			<td>Giờ, dạng giá trị (01..12)</td>
		</tr>
		<tr>
			<td>%i</td>
			<td>Phút, dạng giá trị số (00..59)</td>
		</tr>
		<tr>
			<td>%j</td>
			<td>Ngày trong năm (001..366)</td>
		</tr>
		<tr>
			<td>%k</td>
			<td>Giờ, dạng giá trị (0..23)</td>
		</tr>
		<tr>
			<td>%l</td>
			<td>Giờ, dạng giá trị (1..12)</td>
		</tr>
		<tr>
			<td>%M</td>
			<td>Tên tháng (January..December)</td>
		</tr>
		<tr>
			<td>%m</td>
			<td>Tháng, dạng giá trị số (00..12)</td>
		</tr>
		<tr>
			<td>%p</td>
			<td>AM hoặc PM</td>
		</tr>
		<tr>
			<td>%r</td>
			<td>Thời gian, 12h (hh:mm:ss được theo sau bởi AM hoặc PM)</td>
		</tr>
		<tr>
			<td>%S</td>
			<td>Giây (00..59)</td>
		</tr>
		<tr>
			<td>%s</td>
			<td>Giây (00..59)</td>
		</tr>
		<tr>
			<td>%T</td>
			<td>Thời gian, 24h (hh:mm:ss)</td>
		</tr>
		<tr>
			<td>%U</td>
			<td>Tuần trong năm (00..53), với Sunday là ngày đầu tiên của tuần</td>
		</tr>
		<tr>
			<td>%u</td>
			<td>Tuần trong năm (00..53), với Monday là ngày đầu tiên của tuần</td>
		</tr>
		<tr>
			<td>%V</td>
			<td>Tuần trong năm (01..53), với Sunday là ngày đầu tiên của tuần; được sử dụng với %X</td>
		</tr>
		<tr>
			<td>%v</td>
			<td>Tuần trong năm (01..53), với Monday là ngày đầu tiên của tuần; được sử dụng với %x</td>
		</tr>
		<tr>
			<td>%W</td>
			<td>Tên ngày trong tuần (Sunday..Saturday)</td>
		</tr>
		<tr>
			<td>%w</td>
			<td>Ngày trong tuần, dạng số (0=Sunday..6=Saturday)</td>
		</tr>
		<tr>
			<td>%X</td>
			<td>Năm cho tuần, với Sunday là ngày đầu tiên của tuần, giá trị 4 chữ số; được sử dụng với %V</td>
		</tr>
		<tr>
			<td>%x</td>
			<td>Năm cho tuần, với Monday là ngày đầu tiên của tuần, giá trị 4 chữ số; được sử dụng với %v</td>
		</tr>
		<tr>
			<td>%Y</td>
			<td>Năm, giá trị 4 chữ số</td>
		</tr>
		<tr>
			<td>%y</td>
			<td>Năm, giá trị 2 chữ số</td>
		</tr>
		<tr>
			<td>%%</td>
			<td>Một hằng ký tự .%.</td>
		</tr>
		<tr>
			<td>%x</td>
			<td>Đối với bất kỳ .x. nào không được liệt kê ở trên</td>
		</tr>
	</tbody>
</table>

<p><strong>Ví dụ:</strong></p>

<pre id="pre14">
mysql&gt; SELECT DATE_FORMAT(&#039;2019-10-04 22:23:00&#039;, &#039;%H %k %I %r %T %S %w&#039;);
+---------------------------------------------------------+
| DATE_FORMAT(&#039;2019-10-04 22:23:00.......                 |
+---------------------------------------------------------+
|  22 22 10 10:23:00 PM 22:23:00 00 5                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre15">
mysql&gt; SELECT DATE_FORMAT(&#039;2019-10-04 22:23:00&#039;, &#039;%W %M %Y&#039;);
+---------------------------------------------------------+
| DATE_FORMAT(&#039;2019-10-04 22:23:00&#039;, &#039;%W %M %Y&#039;)          |
+---------------------------------------------------------+
| Saturday October 2019                                   |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dped">Hàm DAY()</h2>

<p><strong>DAY()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DAY(date)</strong>.</p>

<p><strong>Hàm DAY()</strong>&nbsp;trả về ngày trong tháng từ&nbsp;<em>date</em>&nbsp;đã truyền vào, trong khoảng từ 0 đến 31.</p>

<pre id="pre16">
mysql&gt; SELECT DAY(&#039;2019-06-15&#039;); 
+---------------------------------------------------------+
| DAY(&#039;2019-06-15&#039;)                                       |
+---------------------------------------------------------+
| 15                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Hàm này sử dụng tương tự như&nbsp;<strong>DAYOFMONTH().</strong></p>

<h2 id="mcetoc_1d6fh8dpee">Hàm DAYNAME()</h2>

<p><strong>DAYNAME()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DAYNAME(date).</strong></p>

<p><strong>Hàm DAYNAME()</strong>&nbsp;trả về tên của ngày trong tuần của&nbsp;<em>date</em>&nbsp;đã được truyền vào.</p>

<pre id="pre17">
mysql&gt; SELECT DAYNAME(&#039;2019-03-15&#039;);
+---------------------------------------------------------+
| DAYNAME(&#039;2019-03-15&#039;)                                   |
+---------------------------------------------------------+
| Friday                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpef">Hàm DAYOFMONTH()</h2>

<p><strong>DAYOFMONTH()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DAYOFMONTH(date).</strong></p>

<p><strong>Hàm DAYOFMONTH()</strong>&nbsp;trả về ngày trong tháng từ&nbsp;<em>date</em>&nbsp;đã truyền vào, trong khoảng từ 0 đến 31.</p>

<pre id="pre18">
mysql&gt; SELECT DAYOFMONTH(&#039;2019-06-15&#039;); 
+---------------------------------------------------------+
| DAYOFMONTH(&#039;2019-06-15&#039;)                                |
+---------------------------------------------------------+
| 15                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Hàm này sử dụng tương tự như&nbsp;<strong>DAY().</strong></p>

<h2 id="mcetoc_1d6fh8dpeg">Hàm DAYOFWEEK()</h2>

<p><strong>DAYOFWEEK()</strong>&nbsp;trong SQL có dạng:<strong>&nbsp;DAYOFWEEK(date).</strong></p>
<iframe allow="autoplay" allowtransparency="true" aria-label="Advertisement" data-google-container-id="a!7" data-google-query-id="CKrJ9J7km4gDFYxFwgUdBS0BHg" data-load-complete="true" frameborder="0" height="0" hspace="0" id="aswift_6" marginheight="0" marginwidth="0" name="aswift_6" sandbox="allow-scripts allow-same-origin allow-forms allow-presentation allow-popups" scrolling="no" tabindex="0" title="Advertisement" vspace="0" width="478"></iframe>

<p><strong>Hàm DAYOFWEEK()</strong>&nbsp;trả về chỉ số ngày trong tuần (1 = Sunday, 2 = Monday... 7 = Saturday). Các giá trị chỉ số này tương ứng với tiêu chuẩn ODBC.</p>

<pre id="pre19">
mysql&gt; SELECT DAYOFWEEK(&#039;2019-03-15&#039;);
+---------------------------------------------------------+
|DAYOFWEEK(&#039;2019-03-15&#039;)                                  |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpeh">Hàm DAYOFYEAR()</h2>

<p><strong>DAYOFYEAR()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>DAYOFYEAR(date).</strong></p>

<p><strong>Hàm DAYOFYEAR()</strong>&nbsp;trả về số thứ tự của ngày được truyền trong năm trong khoảng từ 1 đến 366.</p>

<pre id="pre20">
mysql&gt; SELECT DAYOFYEAR(&#039;2019-03-15&#039;);
+---------------------------------------------------------+
| DAYOFYEAR(&#039;2019-03-15&#039;)                                 |
+---------------------------------------------------------+
| 74                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpei">Hàm EXTRACT()</h2>

<p><strong>EXTRACT()</strong>&nbsp;trong SQL có dạng:<strong>&nbsp;EXTRACT(unit FROM date).</strong></p>

<p><strong>Hàm EXTRACT()</strong>&nbsp;sử dụng các unit specifier giống như hàm&nbsp;<strong>DATE_ADD()</strong>&nbsp;và&nbsp;<strong>DATE_SUB()</strong>, nhưng nó trích các phần từ&nbsp;<em>date</em>&nbsp;chứ không thực hiện các phép toán số học trên&nbsp;<em>date.</em></p>

<pre id="pre21">
mysql&gt; SELECT EXTRACT(YEAR_MONTH FROM &#039;2019-03-15 01:02:03&#039;);
+---------------------------------------------------------+
| EXTRACT(YEAR_MONTH FROM &#039;2019-03-15 01:02:03&#039;)          |
+---------------------------------------------------------+
| 201903                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre22">
mysql&gt; SELECT EXTRACT(YEAR FROM &#039;2019-03-15&#039;);
+---------------------------------------------------------+
| EXTRACT(YEAR FROM &#039;2019-03-15&#039;)                         |
+---------------------------------------------------------+
| 2019                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)</pre>

<h2 id="mcetoc_1d6fh8dpej">Hàm FROM_DAYS()</h2>

<p><strong>FROM_DAYS()</strong>&nbsp;trong SQL có dạng:<strong>&nbsp;FROM_DAYS(N)</strong></p>

<p>Hàm này được sử dụng để chuyển đổi số&nbsp;<em>N</em>&nbsp;thành một giá trị&nbsp;<em>date</em>&nbsp;cụ thể.<strong>&nbsp;FROM_DAYS()</strong>&nbsp;chỉ được sử dụng với các ngày trong lịch Gregorian (1582).</p>

<pre id="pre23">
mysql&gt; SELECT FROM_DAYS(737498);
+---------------------------------------------------------+
| FROM_DAYS(737498)                                       |
+---------------------------------------------------------+
| 2019-03-15                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpek">Hàm FROM_UNIXTIME()</h2>

<p><strong>FROM_UNIXTIME()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>FROM_UNIXTIME(unix_timestamp, &#91;format&#93;).</strong></p>

<p>Thời gian Unix (Unix timestamp) là hệ thống nhằm diễn tả một điểm trên trục thời gian, theo trục thời gian nó sử dụng số giây để xác định thời điểm, với điểm gốc từ thời điểm 00:00:00 ngày 1/1/1970 theo giờ UTC.</p>

<p><strong>Ví dụ:</strong>&nbsp;Lúc 00:00:00 - 12/02/2016 có giá trị timestamp là 1455235200; Có nghĩa là tính từ 00:00:00 - 1/1/1970 đến 00:00:00 - 12/02/2016 là 1455235200 giây.</p>

<p><strong>Hàm FROM_UNIXTIME()</strong>&nbsp;trả về ngày đại diện của đối số&nbsp;<em>unix_timestamp</em>&nbsp;dưới dạng một giá trị trong định dạng<em>&nbsp;&#039;YYYY-MM-DD HH:MM:SS&#039;</em>&nbsp;hoặc&nbsp;<em>YYYYMMDDHHMMSS</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<p>Giá trị được thể hiện trong múi giờ hiện tại. Đối số&nbsp;<em>unix_timestamp</em>&nbsp;có thể được tạo ra bởi&nbsp;<strong>hàm</strong>&nbsp;<strong>UNIX_TIMESTAMP()</strong>.</p>

<pre id="pre24">
mysql&gt; SELECT FROM_UNIXTIME(1552688580);
+---------------------------------------------------------+
| FROM_UNIXTIME(1552688580)                               |
+---------------------------------------------------------+
| 2019-03-15 22:23:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Nếu tham số&nbsp;<em>format</em>&nbsp;được truyền, kết quả sẽ được định dạng theo chuỗi&nbsp;<em>format</em>&nbsp;được liệt kê tương tự như&nbsp;<strong>hàm DATE_FORMAT()</strong>.</p>

<pre id="pre25">
mysql&gt; SELECT FROM_UNIXTIME(1552688580, &#039;%W %M %Y&#039;);
+---------------------------------------------------------+
| FROM_UNIXTIME(1552688580, &#039;%W %M %Y&#039;)                   |
+---------------------------------------------------------+
| Friday March 2019                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpel">Hàm HOUR()</h2>

<p><strong>Hàm HOUR()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>HOUR(time)</strong>&nbsp;trả về giờ từ&nbsp;<em>time</em>&nbsp;được truyền vào. Giá trị trả về nằm trong phạm vi từ 0 đến 23 cho các giá trị thời gian trong ngày.</p>

<pre id="pre26">
mysql&gt; SELECT HOUR(&#039;10:05:03&#039;);
+---------------------------------------------------------+
| HOUR(&#039;10:05:03&#039;)                                        |
+---------------------------------------------------------+
| 10                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpem">Hàm LAST_DAY()</h2>

<p><strong>Hàm LAST_DAY()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>LAST_DAY(date).</strong></p>

<p>Hàm này có tham số truyền vào là giá trị&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>datetime,</em>&nbsp;trả về giá trị tương ứng cho ngày cuối cùng của tháng. Output sẽ là NULL nếu tham số không hợp lệ.</p>

<pre id="pre27">
mysql&gt; SELECT LAST_DAY(&#039;2019-03-15&#039;);
+---------------------------------------------------------+
| LAST_DAY(&#039;2019-03-15&#039;)                                  |
+---------------------------------------------------------+
| 2019-03-31                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpen">Hàm LOCALTIME()</h2>

<p><strong>LOCALTIME hay LOCALTIME()</strong>&nbsp;trả về&nbsp;<em>datetime</em>&nbsp;hiện tại dưới dạng một giá trị trong định dạng ‘<em>YYYY-MM-DD HH: MM: SS</em>’ hoặc&nbsp;<em>YYYYMMDHHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<p>Hàm này sử dụng tương tự như&nbsp;<strong>NOW().</strong></p>

<pre id="pre28">
mysql&gt; SELECT LOCALTIME();
+---------------------------------------------------------+
| LOCALTIME()                                             |
+---------------------------------------------------------+
| 2019-03-15 09:53:17                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpeo">Hàm LOCALTIMESTAMP()</h2>

<p><strong>Hàm LOCALTIMESTAMP hay LOCALTIMESTAMP()&nbsp;</strong>trả về&nbsp;<em>datetime</em>&nbsp;hiện tại dưới dạng một giá trị trong định dạng&nbsp;<em>‘YYYY-MM-DD HH: MM: SS’</em>&nbsp;hoặc&nbsp;<em>YYYYMMDHHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<p>Hàm này sử dụng tương tự như&nbsp;<strong><a href="https://quantrimang.com/ham-xu-ly-date-time-trong-sql-phan-2-162460#mcetoc_1d6fh8dpev" title="Hàm NOW()">NOW()</a>.</strong></p>

<pre id="pre29">
mysql&gt; SELECT LOCALTIMESTAMP;
+---------------------------------------------------------+
| LOCALTIMESTAMP                                          |
+---------------------------------------------------------+
| 2019-03-15 10:12:12                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpep">Hàm MAKEDATE()</h2>

<p><strong>MAKEDATE()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>MAKEDATE(year,dayofyear)</strong>.</p>

<p>Hàm này trả về một ngày với tham số&nbsp;<em>year</em>&nbsp;và&nbsp;<em>dayofyear</em>&nbsp;được truyền. Giá trị&nbsp;<em>dayofyear</em>&nbsp;phải lớn hơn 0 nếu không kết quả sẽ là NULL.</p>

<pre id="pre30">
mysql&gt; SELECT MAKEDATE(2019,31);
+---------------------------------------------------------+
| MAKEDATE(2019,31)                                       |
+---------------------------------------------------------+
| 2019-01-31                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)</pre>

<pre id="pre31">
mysql&gt; SELECT MAKEDATE(2019,122);
+---------------------------------------------------------+
| MAKEDATE(2019,122)                                      |
+---------------------------------------------------------+
| 2019-05-02                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpeq">Hàm MAKETIME()</h2>

<p><strong>Hàm MAKETIME()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>MAKETIME(hour,minute,second)</strong>, trả về một giá trị&nbsp;<em>time</em>&nbsp;từ các tham số&nbsp;<em>hour, minute,</em>&nbsp;và&nbsp;<em>second</em>&nbsp;được truyền.</p>

<pre id="pre32">
mysql&gt; SELECT MAKETIME(12,15,30);
+---------------------------------------------------------+
| MAKETIME(12,15,30)                                      |
+---------------------------------------------------------+
| &#039;12:15:30&#039;                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dper">Hàm MICROSECOND()</h2>

<p><strong>Hàm MICROSECOND()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>MICROSECOND(expr)</strong>&nbsp;trả về&nbsp;<em>microsecond</em>&nbsp;từ biểu thức thời gian&nbsp;<em>(expr)</em>&nbsp;dưới dạng số trong khoảng từ 0 đến 999999.</p>

<pre id="pre33">
mysql&gt; SELECT MICROSECOND(&#039;12:00:00.123456&#039;);
+---------------------------------------------------------+
| MICROSECOND(&#039;12:00:00.123456&#039;)                          |
+---------------------------------------------------------+
| 123456                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpes">Hàm MINUTE()</h2>

<p><strong>Hàm MINUTE()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>MINUTE(time)</strong>, trả về giá trị phút cho từ tham số&nbsp;<em>time</em>&nbsp;được truyền, trong khoảng từ 0 đến 59.</p>

<pre id="pre34">
mysql&gt; SELECT MINUTE(&#039;19-03-15 10:05:03&#039;);
+---------------------------------------------------------+
| MINUTE(&#039;19-03-15 10:05:03&#039;)                             |
+---------------------------------------------------------+
| 5                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpet">Hàm MONTH()</h2>

<p><strong>Hàm MONTH()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>MONTH(date)</strong>, trả về tháng từ tham số&nbsp;<em>date</em>&nbsp;được truyền, trong khoảng từ 0 đến 12.</p>

<pre id="pre35">
mysql&gt; SELECT MONTH(&#039;2019-02-12&#039;)
+---------------------------------------------------------+
| MONTH(&#039;2019-02-12&#039;)                                     |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpeu">Hàm MONTHNAME()</h2>

<p><strong>Hàm MONTHNAME()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>MONTHNAME(date)</strong>, trả về tên tháng của tham số&nbsp;<em>date</em>&nbsp;được truyền.</p>

<pre id="pre36">
mysql&gt; SELECT MONTHNAME(&#039;2019-02-12&#039;);
+---------------------------------------------------------+
| MONTHNAME(&#039;2019-02-12&#039;)                                 |
+---------------------------------------------------------+
| February                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpev">Hàm NOW()</h2>

<p><strong>Hàm NOW()</strong>&nbsp;trong SQL trả về&nbsp;<em>datetime</em>&nbsp;hiện tại dưới dạng một giá trị trong định dạng ‘<em>YYYY-MM-DD HH: MM: SS’</em>&nbsp;hoặc&nbsp;<em>YYYYMMDHHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số. Kết quả của hàm là thời gian ở múi giờ hiện tại.</p>

<pre id="pre37">
mysql&gt; SELECT NOW();
+---------------------------------------------------------+
| NOW()                                                   |
+---------------------------------------------------------+
| 2019-03-15 16:50:26                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe10">Hàm PERIOD_ADD()</h2>

<p><strong>PERIOD_ADD()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>PERIOD_ADD(P,N)</strong>.</p>

<p>Hàm này thêm số tháng (<em>N</em>) được chỉ định vào một khoảng thời gian (<em>P</em>).&nbsp;<em>P</em>&nbsp;truyền vào dưới định dạng&nbsp;<em>YYMM</em>&nbsp;hoặc&nbsp;<em>YYYYMM</em>&nbsp;và trả về giá trị theo định dạng&nbsp;<em>YYYYMM.</em></p>

<pre id="pre38">
mysql&gt; SELECT PERIOD_ADD(1901,2);
+---------------------------------------------------------+
| PERIOD_ADD(1901,2)                                      |
+---------------------------------------------------------+
| 201903                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre39">
mysql&gt; SELECT PERIOD_ADD(201901,2);
+---------------------------------------------------------+
| PERIOD_ADD(201901,2)                                    |
+---------------------------------------------------------+
| 201903                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe11">Hàm PERIOD_DIFF()</h2>

<p><strong>PERIOD_DIFF()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>PERIOD_DIFF(P1,P2).</strong></p>

<p>Hàm này trả về số tháng giữa khoảng thời gian&nbsp;<em>P1</em>&nbsp;và&nbsp;<em>P2</em>&nbsp;được truyền vào dưới định dạng&nbsp;<em>YYMM</em>&nbsp;hoặc&nbsp;<em>YYYYMM.</em></p>

<pre id="pre40">
mysql&gt; SELECT PERIOD_DIFF(1902,201803);
+---------------------------------------------------------+
| PERIOD_DIFF(1902,201803)                                |
+---------------------------------------------------------+
| 11                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe12">Hàm QUARTER()</h2>

<p><strong>Hàm QUARTER()&nbsp;</strong>trong SQL có dạng&nbsp;<strong>QUARTER(date)</strong>&nbsp;trả về quý trong năm từ&nbsp;<em>date</em>&nbsp;được truyền vào, trong khoảng từ 1 đến 4.</p>

<pre id="pre41">
mysql&gt; SELECT QUARTER(&#039;19-04-01&#039;);
+---------------------------------------------------------+
| QUARTER(&#039;19-04-01&#039;)                                     |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe13">Hàm SECOND()</h2>

<p><strong>Hàm SECOND()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>SECOND(time)&nbsp;</strong>trả về giá trị giây từ tham số&nbsp;<em>time</em>&nbsp;được truyền vào, trong khoảng từ 0 đến 59.</p>

<pre id="pre42">
mysql&gt; SELECT SECOND(&#039;10:05:03&#039;);
+---------------------------------------------------------+
| SECOND(&#039;10:05:03&#039;)                                      |
+---------------------------------------------------------+
| 3                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe14">Hàm SEC_TO_TIME()</h2>

<p><strong>SEC_TO_TIME()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>SEC_TO_TIME(second)</strong>.</p>

<p>Hàm này trả về giá trị được chuyển đổi từ tham số&nbsp;<em>second</em>&nbsp;đã cho thành giờ, phút và giây có định dạng ‘<em>HH: MM: SS</em>’ hoặc&nbsp;<em>HHMMSS,</em>&nbsp;tuỳ thuộc vào việc hàm này sử dụng chuỗi hay số.</p>

<pre id="pre43">
mysql&gt; SELECT SEC_TO_TIME(1202);
+---------------------------------------------------------+
| SEC_TO_TIME(1202)                                       |
+---------------------------------------------------------+
| 00:20:02                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe15">Hàm STR_TO_DATE()</h2>

<p><strong>STR_TO_DATE()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>STR_TO_DATE(str,format).</strong></p>

<p>Hàm này ngược với&nbsp;<strong>hàm DATE_FORMAT()</strong>, trả về một giá trị&nbsp;<em>DATETIME</em>&nbsp;nếu chuỗi&nbsp;<em>str</em>&nbsp;chứa cả hai phần&nbsp;<em>date</em>&nbsp;và&nbsp;<em>time,</em>&nbsp;trả về giá trị&nbsp;<em>DATE</em>&nbsp;hoặc&nbsp;<em>TIME</em>&nbsp;nếu chuỗi chỉ chứa các phần&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>time.</em></p>

<pre id="pre44">
mysql&gt; SELECT STR_TO_DATE(&#039;03/15/2019&#039;, &#039;%m/%d/%Y&#039;);
+---------------------------------------------------------+
| STR_TO_DATE(&#039;03/15/2019&#039;, &#039;%m/%d/%Y&#039;)                   |
+---------------------------------------------------------+
| 2019-03-15                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)</pre>

<pre id="pre45">
mysql&gt; SELECT STR_TO_DATE(&#039;March 15 2019&quot;, &#039;%M %d %Y&#039;);
+---------------------------------------------------------+
| STR_TO_DATE(&#039;March 15 2019&quot;, &quot;%M %d %Y&#039;)                |
+---------------------------------------------------------+
| 2019-03-15                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2><img alt="" data-i="2" data-src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-6.jpg" data-was-processed="true" height="200" src="https://st.quantrimang.com/photos/image/2019/03/21/ham-xu-ly-datetime-6.jpg" width="641" /></h2>

<h2 id="mcetoc_1d6fh8dpe16">Hàm SUBDATE()</h2>

<p>Có 2 dạng hàm SUBDATE:</p>

<ul>
	<li>SUBDATE(expr, day)</li>
	<li>SUBDATE(date, interval expr unit)</li>
</ul>

<p><strong>1. SUBDATE(expr, day)</strong></p>

<p>Trừ một khoảng thời gian nhất định từ tham số thời gian được truyền.</p>

<ul>
	<li><em>expr:</em>&nbsp;khoảng thời gian bạn muốn thay đổi.</li>
	<li><em>day:</em>&nbsp;một số nguyên ngày bạn muốn trừ đi từ biểu thức expr.</li>
</ul>

<pre id="pre46">
mysql&gt; SELECT SUBDATE(&#039;2019-03-15&#039;, 31);
+---------------------------------------------------------+
| SUBDATE(&#039;2019-03-15&#039;, 31)                               |
+---------------------------------------------------------+
| 2019-02-12                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p><strong>2. SUBDATE(date, interval expr unit)</strong></p>

<p>Khi đối số thứ hai được gọi dưới dạng&nbsp;<em>INTERVAL,</em>&nbsp;<strong>hàm SUBDATE()</strong>&nbsp;có chức năng giống&nbsp;<a href="https://quantrimang.com/ham-xu-ly-date-time-trong-sql-phan-2-162460#mcetoc_1d6fh8dpeb" title="Hàm DATE_SUB()"><strong>hàm DATE_SUB()</strong></a>.</p>

<p>Ví dụ hàm DATE_SUB sử dụng như này:</p>

<pre id="pre47">
mysql&gt; SELECT DATE_SUB(&#039;2019-03-15&#039;, INTERVAL 31 DAY);
+---------------------------------------------------------+
| DATE_SUB(&#039;2019-03-15&#039;, INTERVAL 31 DAY)                 |
+---------------------------------------------------------+
| 2019-02-12                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Và SUBDATE có chức năng tương tự:</p>

<pre id="pre48">
mysql&gt; SELECT SUBDATE(&#039;2019-03-15&#039;, INTERVAL 31 DAY);
+---------------------------------------------------------+
| SUBDATE(&#039;2019-03-15&#039;, INTERVAL 31 DAY)                  |
+---------------------------------------------------------+
| 2019-02-12                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpe17">Hàm SUBTIME()</h2>

<p><strong>SUBTIME()&nbsp;</strong>trong SQL có dạng:&nbsp;<strong>SUBTIME(expr1,expr2)</strong>.</p>

<p>Hàm này trả về giá trị thời gian là hiệu của&nbsp;<em>expr1</em>&nbsp;trừ&nbsp;<em>expr2. Expr1</em>&nbsp;là một biểu thức dạng&nbsp;<em>time</em>&nbsp;hoặc&nbsp;<em>datetime,</em>&nbsp;còn&nbsp;<em>expr2</em>&nbsp;là một biểu thức&nbsp;<em>time.</em></p>

<pre id="pre49">
mysql&gt; SELECT SUBTIME(&#039;2019-03-31 23:59:59.999999&#039;, &#039;1 1:1:1.000002&#039;);
+---------------------------------------------------------+
| SUBTIME(&#039;2019-03-31 23:59:59.999999&#039;, &#039;1 1:1:1.000002&#039;) |
+---------------------------------------------------------+
| 2019-03-30 22:58:58.999997                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf18">Hàm SYSDATE()</h2>

<p><strong>Hàm SYSDATE()</strong>&nbsp;trong SQL trả về&nbsp;<em>date</em>&nbsp;và&nbsp;<em>time</em>&nbsp;hiện tại dưới dạng một giá trị có định dạng&nbsp;<em>&#039;YYYY-MM-DD HH:MM:SS&#039;</em>&nbsp;hoặc&nbsp;<em>YYYYMMDDHHMMSS,</em>&nbsp;phụ thuộc vào hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<pre id="pre50">
mysql&gt; SELECT SYSDATE();
+---------------------------------------------------------+
| SYSDATE()                                               |
+---------------------------------------------------------+
| 2019-03-15 16:47:44                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf19">Hàm TIME()</h2>

<p><strong>Hàm TIME()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>TIME(expr)</strong>&nbsp;trả về giá trị thời gian từ biểu thức&nbsp;<em>expr (time</em>&nbsp;hoặc&nbsp;<em>datetime)</em>&nbsp;được truyền vào.</p>

<pre id="pre51">
mysql&gt; SELECT TIME(&#039;2019-03-15 01:02:03&#039;);
+---------------------------------------------------------+
| TIME(&#039;2019-03-15 01:02:03&#039;)                             |
+---------------------------------------------------------+
| 01:02:03                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1a">Hàm TIMEDIFF()</h2>

<p><strong>TIMEDIFF()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>TIMEDIFF(expr1, expr2)</strong>.</p>

<p>Hàm này trả về chênh lệch giữa hai giá trị thời gian&nbsp;<em>expr1</em>&nbsp;và&nbsp;<em>expr2,</em>&nbsp;kết quả được biểu diễn dưới dạng một giá trị&nbsp;<em>time.</em>&nbsp;Hai giá trị thời gian này là các biểu thức&nbsp;<em>time</em>&nbsp;hoặc&nbsp;<em>datetime</em>&nbsp;và cả hai phải cùng một kiểu.</p>

<pre id="pre52">
mysql&gt; SELECT TIMEDIFF(&#039;2019-03-15 23:59:59.000001&#039;, &#039;2019-03-14 01:01:01.000002&#039;);
+---------------------------------------------------------+
| TIMEDIFF(&#039;2019-03-15 23:59:59.000001&#039;, ...              |
+---------------------------------------------------------+
|  46:58:57.999999                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1b">Hàm TIMESTAMP()</h2>

<p>Có 2 dạng hàm TIMESTAMP:</p>

<ul>
	<li>TIMESTAMP(expr)</li>
	<li>TIMESTAMP(expr1,expr2)</li>
</ul>

<p><strong>1. TIMESTAMP(expr)</strong></p>

<p>Khi chỉ có một tham số,&nbsp;<strong>hàm TIMESTAMP()&nbsp;</strong>trong SQL trả về giá trị&nbsp;<em>datetime</em>&nbsp;với tham số&nbsp;<em>expr</em>&nbsp;có thể là&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>datetime.</em></p>

<pre id="pre53">
mysql&gt; SELECT TIMESTAMP(&quot;2019-03-15&quot;);
+---------------------------------------------------------+
| TIMESTAMP(&quot;2019-03-15&quot;)                                 |
+---------------------------------------------------------+
| 2019-03-15 00:00:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p><strong>2. TIMESTAMP(expr1,expr2)</strong></p>

<p>Khi&nbsp;<strong>hàm TIMESTAMP()</strong>&nbsp;có hai tham số thì&nbsp;<em>expr2</em>&nbsp;sẽ được cộng vào&nbsp;<em>expr1</em>&nbsp;và trả về giá trị&nbsp;<em>datetime.</em></p>

<ul>
	<li><em>expr1</em>&nbsp;có thể là&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>datetime.</em></li>
	<li><em>expr2</em>&nbsp;chỉ có thể là&nbsp;<em>time.</em></li>
</ul>

<pre id="pre54">
mysql&gt; SELECT TIMESTAMP(&quot;2019-03-15&quot;, &quot;26:10:11&quot;);
+---------------------------------------------------------+
| TIMESTAMP(&quot;2019-03-15&quot;, &quot;26:10:11&quot;)                     |
+---------------------------------------------------------+
| 2019-03-16 02:10:11                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1c">Hàm TIMESTAMPADD()</h2>

<p>Trong SQL,&nbsp;<strong>hàm TIMESTAMPADD()</strong>&nbsp;trả về giá trị&nbsp;<em>datetime</em>&nbsp;mới khi nó được cộng thêm một khoảng thời gian được chỉ định vào tham số thời gian được truyền ban đầu.</p>

<p>Cú pháp<strong>&nbsp;TIMESTAMPADD()</strong>&nbsp;có dạng:&nbsp;<strong>TIMESTAMPADD(unit,interval,datetime_expr).</strong></p>

<ul>
	<li><em>unit:</em>&nbsp;đơn vị thời gian sử dụng để cộng thêm vào biểu thức thời gian ban đầu&nbsp;<em>datetime_expr.</em>&nbsp;Nó có thể là một trong những giá trị sau:

	<ul>
		<li>FRAC_SECOND (microsecond)</li>
		<li>SECOND, MINUTE</li>
		<li>HOUR, DAY</li>
		<li>WEEK</li>
		<li>MONTH</li>
		<li>QUARTER</li>
		<li>YEAR</li>
	</ul>
	</li>
	<li><em>interval:</em>&nbsp;số lượng khoảng thời gian mà bạn muốn thêm.</li>
	<li><em>datetime_expr:</em>&nbsp;biểu thức thời gian ban đầu.</li>
</ul>

<pre id="pre55">
mysql&gt; SELECT TIMESTAMPADD(MINUTE,1,&#039;2019-03-15&#039;);
+---------------------------------------------------------+
| TIMESTAMPADD(MINUTE,1,&#039;2019-03-15&#039;)                     |
+---------------------------------------------------------+
| 2019-03-15 00:01:00                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1d">Hàm TIMESTAMPDIFF()</h2>

<p>Cú pháp hàm có dạng:&nbsp;<strong>TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2).</strong></p>

<p><strong>Hàm TIMESTAMPDIFF()</strong>&nbsp;trong SQL trả về một số nguyên thể hiện sự chênh lệch thời gian giữa hai biểu thức&nbsp;<em>datetime_expr1</em>&nbsp;và&nbsp;<em>datetime_expr2.</em></p>

<ul>
	<li><em>datetime_expr1, datetime_expr2:</em>&nbsp;tham số ở định dạng&nbsp;<em>date</em>&nbsp;hoặc&nbsp;<em>datetime.</em></li>
	<li><em>unit:</em>&nbsp;đơn vị thời gian của giá trị được trả về. Nó có thể là một trong những giá trị sau:
	<ul>
		<li>FRAC_SECOND (microsecond)</li>
		<li>SECOND, MINUTE</li>
		<li>HOUR, DAY</li>
		<li>WEEK</li>
		<li>MONTH</li>
		<li>QUARTER</li>
		<li>YEAR</li>
	</ul>
	</li>
</ul>

<pre id="pre56">
mysql&gt; SELECT TIMESTAMPDIFF(MONTH,&#039;2019-02-01&#039;,&#039;2019-05-01&#039;);
+---------------------------------------------------------+
| TIMESTAMPDIFF(MONTH,&#039;2019-02-01&#039;,&#039;2019-05-01&#039;)          |
+---------------------------------------------------------+
| 3                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1e">Hàm TIME_FORMAT()</h2>

<p>Cú pháp hàm có dạng:&nbsp;<strong>TIME_FORMAT(time,format).</strong></p>

<p><strong>Hàm TIME_FORMAT</strong>&nbsp;trong SQL được sử dụng như&nbsp;<a href="https://quantrimang.com/ham-xu-ly-date-time-trong-sql-phan-2-162460#mcetoc_1d6fh8dpec" title="Hàm DATE_FORMAT()"><strong>hàm DATE_FORMAT()</strong></a>&nbsp;nhưng tham số&nbsp;<em>format</em>&nbsp;có thể chỉ chứa định dạng giờ, phút và giây.</p>

<table border="1">
	<tbody>
		<tr>
			<td><strong>Specifier</strong></td>
			<td><strong>Giải thích</strong></td>
		</tr>
		<tr>
			<td>%f</td>
			<td>Microsecond (000000..999999)</td>
		</tr>
		<tr>
			<td>%H</td>
			<td>Giờ, dạng giá trị (00..23)</td>
		</tr>
		<tr>
			<td>%h</td>
			<td>Giờ, dạng giá trị (01..12)</td>
		</tr>
		<tr>
			<td>%I</td>
			<td>Giờ, dạng giá trị (01..12)</td>
		</tr>
		<tr>
			<td>%i</td>
			<td>Phút, dạng giá trị số (00..59)</td>
		</tr>
		<tr>
			<td>%p</td>
			<td>AM hoặc PM</td>
		</tr>
		<tr>
			<td>%r</td>
			<td>Thời gian, 12h (hh:mm:ss được theo sau bởi AM hoặc PM)</td>
		</tr>
		<tr>
			<td>%S</td>
			<td>Giây (00..59)</td>
		</tr>
		<tr>
			<td>%s</td>
			<td>Giây (00..59)</td>
		</tr>
		<tr>
			<td>%T</td>
			<td>Thời gian, 24h (hh:mm:ss)</td>
		</tr>
	</tbody>
</table>

<p><strong>Ví dụ</strong>:</p>

<pre id="pre57">
mysql&gt; SELECT TIME_FORMAT(&#039;19:30:10&#039;, &#039;%h %i %s %p&#039;);
+---------------------------------------------------------+
| TIME_FORMAT(&#039;19:30:10&#039;, &#039;%h %i %s %p&#039;)                  |
+---------------------------------------------------------+
| 07 30 10 PM                                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre58">
mysql&gt; SELECT TIME_FORMAT(&#039;19:30:10&#039;, &#039;%r&#039;);
+---------------------------------------------------------+
| TIME_FORMAT(&#039;19:30:10&#039;, &#039;%r&#039;)                           |
+---------------------------------------------------------+
| 07:30:10 PM                                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre59">
mysql&gt; SELECT TIME_FORMAT(&#039;97:15:40&#039;,&#039;%H %k %h %I %l&#039;);
+---------------------------------------------------------+
| TIME_FORMAT(&#039;97:15:40&#039;,&#039;%H %k %h %I %l&#039;)                |
+---------------------------------------------------------+
| 97 97 01 01 1                                           |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Nếu giá trị&nbsp;<em>time</em>&nbsp;chứa một phần giờ lớn hơn 23 thì ta sử dụng&nbsp;<em>%H</em>&nbsp;và&nbsp;<em>%k</em>&nbsp;để trả về giá trị lớn hơn dãy giá trị thường dùng 0…23.</p>

<h2 id="mcetoc_1d6fh8dpf1f">Hàm TIME_TO_SEC()</h2>

<p><strong>Hàm TIME_TO_SEC()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>TIME_TO_SEC(time)</strong>, trả về số giây được chuyển đổi từ tham số&nbsp;<em>time.</em></p>

<pre id="pre60">
mysql&gt; SELECT TIME_TO_SEC(&#039;22:23:00&#039;);
+---------------------------------------------------------+
| TIME_TO_SEC(&#039;22:23:00&#039;)                                 |
+---------------------------------------------------------+
| 80580                                                   |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1g">Hàm TO_DAYS()</h2>

<p><strong>Hàm TO_DAYS()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>TO_DAYS(date),</strong>&nbsp;trả về số ngày giữa giá trị thời gian&nbsp;<em>date</em>&nbsp;và năm 0 (tính từ 0000-00-00).</p>

<pre id="pre61">
mysql&gt; SELECT TO_DAYS(&#039;2019-03-15&#039;);
+---------------------------------------------------------+
| TO_DAYS(&#039;2019-03-15&#039;)                                   |
+---------------------------------------------------------+
| 737498                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre62">
mysql&gt; SELECT TO_DAYS(190316);
+---------------------------------------------------------+
| TO_DAYS(190316)                                         |
+---------------------------------------------------------+
| 737499                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1h">Hàm UNIX_TIMESTAMP()</h2>

<p>Có 2 dạng hàm UNIX_TIMESTAMP:</p>

<ul>
	<li>UNIX_TIMESTAMP()</li>
	<li>UNIX_TIMESTAMP(date)</li>
</ul>

<p><strong>1. UNIX_TIMESTAMP()</strong></p>

<p>Trong SQL, nếu hàm&nbsp;<strong>UNIX_TIMESTAMP()</strong>&nbsp;không có tham số đi kèm sẽ trả về số giây theo Unix timestamp, tức là số giây kể từ ‘1970-01-01 00:00:00’ UTC tới ngày giờ hiện tại dưới dạng số nguyên không dấu.</p>

<pre id="pre63">
mysql&gt; SELECT UNIX_TIMESTAMP();
+---------------------------------------------------------+
| UNIX_TIMESTAMP()                                        |
+---------------------------------------------------------+
| 1552677612                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p><strong>2. UNIX_TIMESTAMP(date)</strong></p>

<p>Nếu hàm&nbsp;<strong>UNIX_TIMESTAMP</strong>&nbsp;có tham số&nbsp;<em>date</em>&nbsp;đi kèm, SQL sẽ trả về số giây theo Unix timestamp từ ‘1970-01-01 00:00:00’ UTC tới giá trị ngày giờ&nbsp;<em>date&nbsp;</em>được truyền dưới dạng số nguyên không dấu&nbsp;<em>(date</em>&nbsp;có thể là một chuỗi&nbsp;<em>DATE, DATETIME, TIMESTAMP</em>&nbsp;hay một số ở định dạng&nbsp;<em>YYMMDD</em>&nbsp;hoặc&nbsp;<em>YYYYMMDD).</em></p>

<pre id="pre64">
mysql&gt; SELECT UNIX_TIMESTAMP(&#039;1995-02-12 22:23:00&#039;);
+---------------------------------------------------------+
| UNIX_TIMESTAMP(&#039;1995-02-12 22:23:00&#039;)                   |
+---------------------------------------------------------+
| 792627780                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1i">Hàm UTC_DATE()</h2>

<p><strong>Hàm UTC_DATE()</strong>&nbsp;hay&nbsp;<strong>UTC_DATE</strong>&nbsp;trong SQL trả về ngày UTC hiện tại dưới dạng một giá trị có định dạng&nbsp;<em>‘YYYY-MM-DD’</em>&nbsp;hoặc&nbsp;<em>YYYYMMDD,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<pre id="pre65">
mysql&gt; SELECT UTC_DATE();
+---------------------------------------------------------+
| UTC_DATE()                                              |
+---------------------------------------------------------+
| 2019-03-15                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre66">
mysql&gt; SELECT UTC_DATE() + 0;
+---------------------------------------------------------+
| UTC_DATE() + 0                                          |
+---------------------------------------------------------+
| 20190315                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1j">Hàm UTC_TIME()</h2>

<p><strong>Hàm UTC_TIME()</strong>&nbsp;hay&nbsp;<strong>UTC_TIME</strong>&nbsp;trả về giờ UTC hiện tại dưới dạng một giá trị có định dạng&nbsp;<em>&#039;HH:MM:SS&#039;</em>&nbsp;hoặc&nbsp;<em>HHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<pre id="pre67">
mysql&gt; SELECT UTC_TIME();
+---------------------------------------------------------+
| UTC_TIME()                                              |
+---------------------------------------------------------+
| 18:07:53                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre68">
mysql&gt; SELECT UTC_TIME() + 0;
+---------------------------------------------------------+
| UTC_TIME() + 0                                          |
+---------------------------------------------------------+
| 180753                                                  |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1k">Hàm UTC_TIMESTAMP()</h2>

<p><strong>Hàm UTC_TIMESTAMP() hay UTC_TIMESTAMP</strong>&nbsp;trả về ngày giờ UTC hiện tại dưới dạng một giá trị có định dạng &#039;<em>YYYY-MM-DD HH:MM:SS</em>&#039; hoặc&nbsp;<em>YYYYMMDDHHMMSS,</em>&nbsp;tùy thuộc vào việc hàm đang được sử dụng trong ngữ cảnh chuỗi hay số.</p>

<pre id="pre69">
mysql&gt; SELECT UTC_TIMESTAMP();
+---------------------------------------------------------+
| UTC_TIMESTAMP()                                         |
+---------------------------------------------------------+
| 2019-03-15 18:08:04                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<pre id="pre70">
mysql&gt; SELECT UTC_TIMESTAMP() + 0;
+---------------------------------------------------------+
| UTC_TIMESTAMP() + 0                                     |
+---------------------------------------------------------+
| 20190315180804                                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1l">Hàm WEEKDAY()</h2>

<p><strong>WEEKDAY()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>WEEKDAY(date).</strong></p>

<p><strong>Hàm WEEKDAY()</strong>&nbsp;trả về chỉ số ngày trong tuần (0 = Thứ Hai, 1 = Thứ Ba... 6 = Chủ Nhật).</p>

<pre id="pre71">
mysql&gt; SELECT WEEKDAY(&#039;2019-03-15 22:23:00&#039;);
+---------------------------------------------------------+
| WEEKDAY(&#039;2019-03-15 22:23:00&#039;)                          |
+---------------------------------------------------------+
| 4                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1m">Hàm WEEKOFYEAR()</h2>

<p><strong>WEEKOFYEAR()</strong>&nbsp;trong SQL có dạng:&nbsp;<strong>WEEKOFYEAR(date).</strong></p>

<p><strong>Hàm WEEKOFYEAR()</strong>&nbsp;trả về chỉ số tuần của&nbsp;<em>date</em>&nbsp;trong năm là một số nguyên từ 1 đến 53.</p>

<pre id="pre72">
mysql&gt; SELECT WEEKOFYEAR(&#039;2019-03-15&#039;);
+---------------------------------------------------------+
| WEEKOFYEAR(&#039;2019-03-15&#039;)                                |
+---------------------------------------------------------+
| 11                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<h2 id="mcetoc_1d6fh8dpf1n">Hàm YEAR()</h2>

<p><strong>Hàm YEAR()</strong>&nbsp;trong SQL có dạng&nbsp;<strong>YEAR(date),</strong>&nbsp;trả về năm tương ứng của tham số&nbsp;<em>date</em>&nbsp;được truyền. Kết quả trả về nằm trong phạm vi 1000 tới 9999.</p>

<pre id="pre73">
mysql&gt; SELECT YEAR(&#039;19-03-15&#039;);
+---------------------------------------------------------+
| YEAR(&#039;19-03-15&#039;)                                        |
+---------------------------------------------------------+
| 2019                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)
</pre>

<p>Trong phần tiếp theo, chúng ta sẽ tìm hiểu về&nbsp;<strong>bảng tạm Temporary Table trong SQL</strong>, các bạn nhớ theo dõi nhé.</p>

<p>Nhìn chung, dùng hàm DATE và TIME trong SQL không khó. Bạn chỉ cần nắm được cú pháp, cách sử dụng để có thể áp dụng linh hoạt trong nhiều trường hợp.</p>

<p>Hi vọng bài viết hữu ích với các bạn.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com:
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-xu-ly-date-time-trong-sql-phan-2-8936.html" title="Hàm xử lý DATE&#x002F;TIME trong SQL - Phần 2">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-xu-ly-date-time-trong-sql-phan-2-8936.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>