<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>张文杰的博客 &#187; MySQL</title>
	<atom:link href="http://zhangwenjie.net/archives/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://zhangwenjie.net</link>
	<description>技术、生活博客</description>
	<lastBuildDate>Mon, 24 Oct 2011 14:23:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>搭建Sphinx搜索引擎的几个问题说明</title>
		<link>http://zhangwenjie.net/archives/348</link>
		<comments>http://zhangwenjie.net/archives/348#comments</comments>
		<pubDate>Fri, 02 Apr 2010 12:52:38 +0000</pubDate>
		<dc:creator>zhangwenjie</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[coreseek]]></category>
		<category><![CDATA[libiconv]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[sphinx]]></category>
		<category><![CDATA[全文检索]]></category>

		<guid isPermaLink="false">http://zhangwenjie.net/?p=348</guid>
		<description><![CDATA[Sphinx是一个基于SQL的全文检索引擎，可以结合MySQL,PostgreSQL做全文搜索，它可以提供比数据库本身更专业的搜索功能，使得应用程序更容易实现专业化的全文检索。]]></description>
			<content:encoded><![CDATA[<p>　　<strong>Sphinx及Coreseek</strong></p>
<p><strong>　　</strong><a title="sphinx" href="http://sphinxsearch.com">Sphinx</a>是一个基于SQL的全文检索引擎，可以结合MySQL,PostgreSQL做全文搜索，它可以提供比数据库本身更专业的搜索功能，使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口，如PHP、Python、Perl、Ruby等，同时为MySQL也设计了一个存储引擎插件phinxSE。关于更多sphinx的信息，请访问<a title="sphinx" href="http://sphinxsearch.com">这里</a>。</p>
<p>　　CoreSeek是基于sphinx的加入了中文分词搜索的开源软件。更多信息见<a title="coreseek" href="http://www.coreseek.cn">这里</a>。</p>
<p>　　Coreseek及spinx的安装请到网上搜索，教程很多。我只在这里说说安装过程中的几个问题及解决。</p>
<p>　　<strong>关于csft(这是Coreseek基于sphinx加入中文分词的产品名称)在make时，出现”undefined reference to libiconv_open”的问题</strong></p>
<p><strong>　　</strong>sphinx依赖于libiconv实现编码转换。所以在机器上提前要安装libiconv库。然后有configure完成后，使用命令 vim src/Makefile(在csft目录里)，找到 LIBS = -lm -lexpat -L/usr/local/lib 改为LIBS = -lm -lexpat -liconv -L/usr/local/lib重新make就可以了。网上有其它人将宏#define USE_LIBICONV改为0，表示不使用libiconv。虽然可以解决问题，但不推荐此方法。</p>
<p>　　<strong>关于在使用命令”bin/indexer”创建索引时，出现”error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory”的问题</strong></p>
<p><strong>　　</strong>在出现这个问题时，先看是否在 /usr/lib下有libiconv.so.2文件或此文件的软(硬)连接。没有的话就做一下连接(前提是安装了libiconv)。然后执行如下的命令：echo   /usr/lib &gt;&gt; /etc/ld.so.conf　接着执行ldconfig。这时就没有问题了。</p>
<p>　　</p>
<p>　　原创文章如转载，请注明：转载自<a title="张文杰的博客" href="http://zhangwenjie.net/">张文杰的博客</a> [ <a title="张文杰的博客" href="http://zhangwenjie.net/">http://zhangwenjie.net</a> ]</p>
<p>　　本文链接地址：<a href="http://zhangwenjie.net/archives/348.html">http://zhangwenjie.net/archives/348.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zhangwenjie.net/archives/348/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>欧盟真的批准Oracle收购Sun了?</title>
		<link>http://zhangwenjie.net/archives/243</link>
		<comments>http://zhangwenjie.net/archives/243#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:43:10 +0000</pubDate>
		<dc:creator>zhangwenjie</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://zhangwenjie.net/?p=243</guid>
		<description><![CDATA[欧盟真的批准Oracle收购Sun了？那么MySQL也落入了Oracle的手里。据国外媒体报道，甲骨文以70亿美元的价格收购Sun的交易今天获得了欧盟无条件批准。]]></description>
			<content:encoded><![CDATA[<p><strong>　　欧盟真的批准Oracle收购Sun了？那么MySQL也落入了Oracle的手里。据国外媒体报道，甲骨文以70亿美元的价格收购Sun的交易今天获得了欧盟无条件批准。</strong><br />
　　这笔交易将改变科技产业的格局，这意味着全球第二大商用软件提供商甲骨文进入了硬件产业。在规模达170亿美元的高端计算机服务器市场，Sun是市场的领先者。</p>
<p>　　去年12月份，甲骨文做出多项承诺，包括收购Sun之后仍将保持MySQL开源数据库的开放性，在接下来三年里投入更多资金用于MySQL数据库的研发工作，并为MySQL 用户专门建立一个客户咨询团队。</p>
<p>　　欧盟于去年9月份开始对这笔效果进行深入调查。欧盟的主要担心在于，甲骨文收购Sun将给MySQL市场的竞争带来不利影响。</p>
<p>　　批准这笔交易后，欧盟委员会反垄断事务委员尼莉·克劳斯（Neelie Kroes）在一份声明中表示：“甲骨文收购Sun之后，市场的竞争和创新不会受到影响，我对此感到满意。这笔交易可以激活一些重要资产，创造出全新的创新产品。”</p>
<p>　　欧盟表示，在做出这一决定时考虑到了甲骨文做出的承诺，而且甲骨文已经采取措施，落实了部分承诺。</p>
<p>　　去年8月份，甲骨文收购Sun的交易获得了美国司法部的批准。目前，中国和俄罗斯的监管机构尚未批准这笔交易。</p>
<p>　　对于网上传播的MySQL创始人给中国开发者写信请求签名拒绝Oracle收购MySQL的计划可能要落空了。但愿MySQL在oracle手里会存活下来。让我们祝福MySQL吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhangwenjie.net/archives/243/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>搭建Nginx Web服务器过程中的一些问题</title>
		<link>http://zhangwenjie.net/archives/112</link>
		<comments>http://zhangwenjie.net/archives/112#comments</comments>
		<pubDate>Thu, 19 Nov 2009 05:05:50 +0000</pubDate>
		<dc:creator>zhangwenjie</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://zhangwenjie.net/?p=112</guid>
		<description><![CDATA[本文对搭建Nginx Web服务器过程中出现的一些问题了汇总，并提出了一些解决方案。]]></description>
			<content:encoded><![CDATA[<p>　　大家从<a class="wp-caption" title=" Nginx 0.8.x + PHP 5.2.10（FastCGI）搭建胜过Apache十倍的Web服务器" href="http://blog.s135.com/nginx_php_v5/" target="_blank">这里</a>可以找到搭建Nginx Web服务器的软件及步骤。依据此步骤搭建服务器过程中，我遇到了一些问题，但在上述文章中没有提及。在这里指出，希望对搭建此环境的朋友有一些帮助。</p>
<ul>
<li><strong>找不到libmysqlclient.s0.16的问题。</strong>在安装了MySQL之后，源代码编译(即./configure)PHP 5.2.10时，最后会出现找不到libmysqlclient.s0.16的错误。其实libmysqlclient.s0.16就在MySQL安装目录下:/usr/local/mysql/lib/mysql/libmysqlclient.s0.16(安装目录不一样，你的路径与此可能有差别)。为了顺利完成PHP的编译安装，需要对libmysqlclient.s0.16做个软连接:</li>
</ul>
<p>　　　 ln -s /usr/local/mysql/lib/mysql/libmysqlclient.s0.16　/usr/lib/. 。然后就可以完成对PHP的编译安装。</p>
<ul>
<li><strong>安装完成PHP,启动php-fpm出现”libgmp.so无法加载,dlopen()错误”的问题。</strong>出现这个问题，是因为GCC的版本比较低：GCC的版本&lt;=4.1.1,这时就会出现此问题。GCC版本可用如下命令查看:gcc -v。出现此问题有两种解决办法：一是使用高版本的linux发行版搭建Nginx服务器。另一种是自己从源代码或rpm包升级到GCC的更高版本。</li>
<li>前两天看到 Nginx 0.8.25版本release了。想将Nginx升级到新版本，但在./configure时出现了一些错误。暂时还不知道原因。有知道的朋友告诉一下。谢谢.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zhangwenjie.net/archives/112/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql的日期和时间函数大全</title>
		<link>http://zhangwenjie.net/archives/25</link>
		<comments>http://zhangwenjie.net/archives/25#comments</comments>
		<pubDate>Sat, 15 Aug 2009 13:08:43 +0000</pubDate>
		<dc:creator>zhangwenjie</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[函数]]></category>
		<category><![CDATA[日期]]></category>
		<category><![CDATA[时间]]></category>

		<guid isPermaLink="false">http://zhangwenjie.net/?p=25</guid>
		<description><![CDATA[近期在使用PHP+MySQL开发一个小程序，使用到PHP和MySQL中的时间和日期函数。在网上查找 了一些资料，自己整理了一下,方便自己以后查找，也希望对大家有用。             DAYOFWEEK(date) 返回 date 的星期索引(1 = Sunday, 2 = Monday, &#8230; 7 = Saturday)。索引值符合 ODBC 的标准。 mysql&#62; SELECT DAYOFWEEK('1998-02-03'); -&#62; 3 WEEKDAY(date) 返回 date 的星期索引(0 = Monday, 1 = Tuesday, &#8230; 6 = Sunday)： mysql&#62; SELECT WEEKDAY('1998-02-03 22:23:00'); -&#62; 1 mysql&#62; SELECT WEEKDAY('1997-11-05'); -&#62; 2 DAYOFMONTH(date) 返回 date 是一月中的第几天，范围为 1 到 31： mysql&#62; [...]]]></description>
			<content:encoded><![CDATA[<dl>
<dt><code><span style="font-family: NSimsun; color: #800080;"><span style="color: #000000;">近期在使用PHP+MySQL开发一个小程序，使用到PHP和MySQL中的时间和日期函数。在网上查找 了一些资料，自己整理了一下,方便自己以后查找，也希望对大家有用。</span> <br />
           DAYOFWEEK(date)</span></code> </dt>
<dd><a name="IDX1278" target="_blank"></a>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 的星期索引(<code><span style="font-family: NSimsun; color: #800080;">1</span></code> = Sunday, <code><span style="font-family: NSimsun; color: #800080;">2</span></code> = Monday, &#8230; <code><span style="font-family: NSimsun; color: #800080;">7</span></code> = Saturday)。索引值符合 ODBC 的标准。</p>
<pre>mysql&gt; SELECT DAYOFWEEK('1998-02-03');
        -&gt; 3</pre>
<p><a name="IDX1279" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">WEEKDAY(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 的星期索引(<code><span style="font-family: NSimsun; color: #800080;">0</span></code> = Monday, <code><span style="font-family: NSimsun; color: #800080;">1</span></code> = Tuesday, &#8230; <code><span style="font-family: NSimsun; color: #800080;">6</span></code> = Sunday)：</p>
<pre>mysql&gt; SELECT WEEKDAY('1998-02-03 22:23:00');
        -&gt; 1
mysql&gt; SELECT WEEKDAY('1997-11-05');
        -&gt; 2</pre>
<p><a name="IDX1280" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">DAYOFMONTH(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 是一月中的第几天，范围为 <code><span style="font-family: NSimsun; color: #800080;">1</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">31</span></code>：</p>
<pre>mysql&gt; SELECT DAYOFMONTH('1998-02-03');
        -&gt; 3</pre>
<p><a name="IDX1281" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">DAYOFYEAR(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 是一年中的第几天，范围为 <code><span style="font-family: NSimsun; color: #800080;">1</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">366</span></code>：</p>
<pre>mysql&gt; SELECT DAYOFYEAR('1998-02-03');
        -&gt; 34</pre>
<p><a name="IDX1282" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">MONTH(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 中的月份，范围为 <code><span style="font-family: NSimsun; color: #800080;">1</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">12</span></code>：</p>
<pre>mysql&gt; SELECT MONTH('1998-02-03');
        -&gt; 2</pre>
<p><a name="IDX1283" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">DAYNAME(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 的星期名：</p>
<pre>mysql&gt; SELECT DAYNAME("1998-02-05");
        -&gt; 'Thursday'</pre>
<p><a name="IDX1284" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">MONTHNAME(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 的月份名：</p>
<pre>mysql&gt; SELECT MONTHNAME("1998-02-05");
        -&gt; 'February'</pre>
<p><a name="IDX1285" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">QUARTER(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 在一年中的季度，范围为 <code><span style="font-family: NSimsun; color: #800080;">1</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">4</span></code>：</p>
<pre>mysql&gt; SELECT QUARTER('98-04-01');
        -&gt; 2</pre>
<p><a name="IDX1286" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">WEEK(date)</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">WEEK(date,first)</span></code> </dt>
<dd>对于星期日是一周中的第一天的场合，如果函数只有一个参数调用，返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 为一年的第几周，返回值范围为 <code><span style="font-family: NSimsun; color: #800080;">0</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">53</span></code> (是的，可能有第 53 周的开始)。两个参数形式的 <code><span style="font-family: NSimsun; color: #800080;">WEEK()</span></code> 允许你指定一周是否以星期日或星期一开始，以及返回值为 <code><span style="font-family: NSimsun; color: #800080;">0-53</span></code> 还是 <code><span style="font-family: NSimsun; color: #800080;">1-52</span></code>。 这里的一个表显示第二个参数是如何工作的：</p>
<table border="1" width="90%">
<tbody>
<tr>
<td><strong>值 </strong></td>
<td><code><span style="font-family: NSimsun; color: #800080;">含义 </span></code></td>
</tr>
<tr>
<td>0</td>
<td>一周以星期日开始，返回值范围为 0-53</td>
</tr>
<tr>
<td>1</td>
<td>一周以星期一开始，返回值范围为 0-53</td>
</tr>
<tr>
<td>2</td>
<td>一周以星期日开始，返回值范围为 1-53</td>
</tr>
<tr>
<td>3</td>
<td>一周以星期一开始，返回值范围为 1-53 (ISO 8601)</td>
</tr>
</tbody>
</table>
<pre>mysql&gt; SELECT WEEK('1998-02-20');
        -&gt; 7
mysql&gt; SELECT WEEK('1998-02-20',0);
        -&gt; 7
mysql&gt; SELECT WEEK('1998-02-20',1);
        -&gt; 8
mysql&gt; SELECT WEEK('1998-12-31',1);
        -&gt; 53</pre>
<p>注意，在版本 4.0 中，<code><span style="font-family: NSimsun; color: #800080;">WEEK(#,0)</span></code> 被更改为匹配 USA 历法。 注意，如果一周是上一年的最后一周，当你没有使用 2 或 3 做为可选参数时，MySQL 将返回 0：</p>
<pre>mysql&gt; SELECT YEAR('2000-01-01'), WEEK('2000-01-01',0);
        -&gt; 2000, 0
mysql&gt; SELECT WEEK('2000-01-01',2);
        -&gt; 52</pre>
<p>你可能会争辩说，当给定的日期值实际上是 1999 年的第 52 周的一部分时，MySQL 对 <code><span style="font-family: NSimsun; color: #800080;">WEEK()</span></code> 函数应该返回 <code><span style="font-family: NSimsun; color: #800080;">52</span></code>。我们决定返回 0 ，是因为我们希望该函数返回“在指定年份中是第几周”。当与其它的提取日期值中的月日值的函数结合使用时，这使得 <code><span style="font-family: NSimsun; color: #800080;">WEEK()</span></code> 函数的用法可靠。 如果你更希望能得到恰当的年-周值，那么你应该使用参数 2 或 3 做为可选参数，或者使用函数 <code><span style="font-family: NSimsun; color: #800080;">YEARWEEK()</span></code> ：</p>
<pre>mysql&gt; SELECT YEARWEEK('2000-01-01');
        -&gt; 199952
mysql&gt; SELECT MID(YEARWEEK('2000-01-01'),5,2);
        -&gt; 52</pre>
<p><a name="IDX1287" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">YEAR(date)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 的年份，范围为 <code><span style="font-family: NSimsun; color: #800080;">1000</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">9999</span></code>：</p>
<pre>mysql&gt; SELECT YEAR('98-02-03');
        -&gt; 1998</pre>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">YEARWEEK(date)</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">YEARWEEK(date,first)</span></code> </dt>
<dd>返回一个日期值是的哪一年的哪一周。第二个参数的形式与作用完全与 <code><span style="font-family: NSimsun; color: #800080;">WEEK()</span></code> 的第二个参数一致。注意，对于给定的日期参数是一年的第一周或最后一周的，返回的年份值可能与日期参数给出的年份不一致：</p>
<pre>mysql&gt; SELECT YEARWEEK('1987-01-01');
        -&gt; 198653</pre>
<p>注意，对于可选参数 0 或 1，周值的返回值不同于 <code><span style="font-family: NSimsun; color: #800080;">WEEK()</span></code> 函数所返回值(<code><span style="font-family: NSimsun; color: #800080;">0</span></code>)， <code><span style="font-family: NSimsun; color: #800080;">WEEK()</span></code> 根据给定的年语境返回周值。 <a name="IDX1288" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">HOUR(time)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">time</span></code> 的小时值，范围为 <code><span style="font-family: NSimsun; color: #800080;">0</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">23</span></code>：</p>
<pre>mysql&gt; SELECT HOUR('10:05:03');
        -&gt; 10</pre>
<p><a name="IDX1289" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">MINUTE(time)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">time</span></code> 的分钟值，范围为 <code><span style="font-family: NSimsun; color: #800080;">0</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">59</span></code>：</p>
<pre>mysql&gt; SELECT MINUTE('98-02-03 10:05:03');
        -&gt; 5</pre>
<p><a name="IDX1290" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">SECOND(time)</span></code> </dt>
<dd>返回 <code><span style="font-family: NSimsun; color: #800080;">time</span></code> 的秒值，范围为 <code><span style="font-family: NSimsun; color: #800080;">0</span></code> 到 <code><span style="font-family: NSimsun; color: #800080;">59</span></code>：</p>
<pre>mysql&gt; SELECT SECOND('10:05:03');
        -&gt; 3</pre>
<p><a name="IDX1291" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">PERIOD_ADD(P,N)</span></code> </dt>
<dd>增加 <code><span style="font-family: NSimsun; color: #800080;">N</span></code> 个月到时期 <code><span style="font-family: NSimsun; color: #800080;">P</span></code>(格式为 <code><span style="font-family: NSimsun; color: #800080;">YYMM</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YYYYMM</span></code>)中。以 <code><span style="font-family: NSimsun; color: #800080;">YYYYMM</span></code> 格式返回值。 注意，期间参数 <code><span style="font-family: NSimsun; color: #800080;">P</span></code> <strong>不是</strong> 一个日期值：</p>
<pre>mysql&gt; SELECT PERIOD_ADD(9801,2);
        -&gt; 199803</pre>
<p><a name="IDX1292" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">PERIOD_DIFF(P1,P2)</span></code> </dt>
<dd>返回时期 <code><span style="font-family: NSimsun; color: #800080;">P1</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">P2</span></code> 之间的月数。<code><span style="font-family: NSimsun; color: #800080;">P1</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">P2</span></code> 应该以 <code><span style="font-family: NSimsun; color: #800080;">YYMM</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YYYYMM</span></code> 指定。 注意，时期参数 <code><span style="font-family: NSimsun; color: #800080;">P1</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">P2</span></code> <strong>不是</strong> 日期值：</p>
<pre>mysql&gt; SELECT PERIOD_DIFF(9802,199703);
        -&gt; 11</pre>
<p><a name="IDX1293" target="_blank"></a><a name="IDX1294" target="_blank"></a><a name="IDX1295" target="_blank"></a><a name="IDX1296" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">DATE_ADD(date,INTERVAL expr type)</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">DATE_SUB(date,INTERVAL expr type)</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">ADDDATE(date,INTERVAL expr type)</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">SUBDATE(date,INTERVAL expr type)</span></code> </dt>
<dd>这些函数执行日期的算术运算。<code><span style="font-family: NSimsun; color: #800080;">ADDDATE()</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">SUBDATE()</span></code> 分别是 <code><span style="font-family: NSimsun; color: #800080;">DATE_ADD()</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">DATE_SUB()</span></code> 的同义词。 在 MySQL 3.23 中，如果表达式的右边是一个日期值或一个日期时间型字段，你可以使用 <code><span style="font-family: NSimsun; color: #800080;">+</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">-</span></code> 代替 <code><span style="font-family: NSimsun; color: #800080;">DATE_ADD()</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">DATE_SUB()</span></code>(示例如下)。 参数 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 是一个 <code><span style="font-family: NSimsun; color: #800080;">DATETIME</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">DATE</span></code> 值，指定一个日期的开始。<code><span style="font-family: NSimsun; color: #800080;">expr</span></code> 是一个表达式，指定从开始日期上增加还是减去间隔值。<code><span style="font-family: NSimsun; color: #800080;">expr</span></code> 是一个字符串；它可以以一个 <samp><span style="font-family: NSimsun; color: #000080;">“-”</span></samp> 领头表示一个负的间隔值。<code><span style="font-family: NSimsun; color: #800080;">type</span></code> 是一个关键词，它标志着表达式以何格式被解释。 下表显示 <code><span style="font-family: NSimsun; color: #800080;">type</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">expr</span></code> 参数是如何关联的：</p>
<table border="1" width="90%">
<tbody>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">type</span></code> <strong>值</strong></td>
<td><code><span style="font-family: NSimsun; color: #800080;">expr</span></code> <strong>期望的格式</strong></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">SECOND</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">SECONDS</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">MINUTE</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">MINUTES</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">HOUR</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">HOURS</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">DAY</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">DAYS</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">MONTH</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">MONTHS</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">YEAR</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">YEARS</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">MINUTE_SECOND</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"MINUTES:SECONDS"</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">HOUR_MINUTE</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"HOURS:MINUTES"</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">DAY_HOUR</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"DAYS HOURS"</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">YEAR_MONTH</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"YEARS-MONTHS"</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">HOUR_SECOND</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"HOURS:MINUTES:SECONDS"</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">DAY_MINUTE</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"DAYS HOURS:MINUTES"</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">DAY_SECOND</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">"DAYS HOURS:MINUTES:SECONDS"</span></code></td>
</tr>
</tbody>
</table>
<p>在 <code><span style="font-family: NSimsun; color: #800080;">expr</span></code> 的格式中，MySQL 允许任何字符作为定界符。表中所显示的是建议的定界字符。如果 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 参数是一个 <code><span style="font-family: NSimsun; color: #800080;">DATE</span></code> 值，并且计算的间隔仅仅有 <code><span style="font-family: NSimsun; color: #800080;">YEAR</span></code>、<code><span style="font-family: NSimsun; color: #800080;">MONTH</span></code> 和 <code><span style="font-family: NSimsun; color: #800080;">DAY</span></code> 部分(没有时间部分)，那么返回值也是一个 <code><span style="font-family: NSimsun; color: #800080;">DATE</span></code> 值。否则返回值是一个 <code><span style="font-family: NSimsun; color: #800080;">DATETIME</span></code> 值：</p>
<pre>mysql&gt; SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
        -&gt; 1998-01-01 00:00:00
mysql&gt; SELECT INTERVAL 1 DAY + "1997-12-31";
        -&gt; 1998-01-01
mysql&gt; SELECT "1998-01-01" - INTERVAL 1 SECOND;
       -&gt; 1997-12-31 23:59:59
mysql&gt; SELECT DATE_ADD("1997-12-31 23:59:59",
    -&gt;                 INTERVAL 1 SECOND);
        -&gt; 1998-01-01 00:00:00
mysql&gt; SELECT DATE_ADD("1997-12-31 23:59:59",
    -&gt;                 INTERVAL 1 DAY);
        -&gt; 1998-01-01 23:59:59
mysql&gt; SELECT DATE_ADD("1997-12-31 23:59:59",
    -&gt;                 INTERVAL "1:1" MINUTE_SECOND);
        -&gt; 1998-01-01 00:01:00
mysql&gt; SELECT DATE_SUB("1998-01-01 00:00:00",
    -&gt;                 INTERVAL "1 1:1:1" DAY_SECOND);
        -&gt; 1997-12-30 22:58:59
mysql&gt; SELECT DATE_ADD("1998-01-01 00:00:00",
    -&gt;                 INTERVAL "-1 10" DAY_HOUR);
        -&gt; 1997-12-30 14:00:00
mysql&gt; SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
        -&gt; 1997-12-02</pre>
<p>如果你指定了一个太短的间隔值(没有包括 <code><span style="font-family: NSimsun; color: #800080;">type</span></code> 关键词所期望的所有间隔部分)，MySQL 假设你遗漏了间隔值的最左边部分。例如，如果指定一个 <code><span style="font-family: NSimsun; color: #800080;">type</span></code> 为 <code><span style="font-family: NSimsun; color: #800080;">DAY_SECOND</span></code>，那么 <code><span style="font-family: NSimsun; color: #800080;">expr</span></code> 值被期望包含天、小时、分钟和秒部分。如果你象 <code><span style="font-family: NSimsun; color: #800080;">"1:10"</span></code> 样指定一个值，MySQL 假设天和小时部分被遗漏了，指定的值代表分钟和秒。换句话说，<code><span style="font-family: NSimsun; color: #800080;">"1:10" DAY_SECOND</span></code> 被解释为等价于 <code><span style="font-family: NSimsun; color: #800080;">"1:10" MINUTE_SECOND</span></code>。这类似于 MySQL 解释 <code><span style="font-family: NSimsun; color: #800080;">TIME</span></code> 值为经过的时间而不是一天的时刻。 注意，如果依着包含一个时间部分的间隔增加或减少一个日期值，该日期值将被自动地转换到一个日期时间值：</p>
<pre>mysql&gt; SELECT DATE_ADD("1999-01-01", INTERVAL 1 DAY);
       -&gt; 1999-01-02
mysql&gt; SELECT DATE_ADD("1999-01-01", INTERVAL 1 HOUR);
       -&gt; 1999-01-01 01:00:00</pre>
<p>如果你使用了确定不正确的日期，返回结果将是 <code><span style="font-family: NSimsun; color: #800080;">NULL</span></code>。如果你增加 <code><span style="font-family: NSimsun; color: #800080;">MONTH</span></code>、<code><span style="font-family: NSimsun; color: #800080;">YEAR_MONTH</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YEAR</span></code>，并且结果日期的天比新月份的最大天数还大，那么它将被调整到新月份的最大天数：</p>
<pre>mysql&gt; SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);
        -&gt; 1998-02-28</pre>
<p>注意，上面的例子中，单词 <code><span style="font-family: NSimsun; color: #800080;">INTERVAL</span></code> 和关键词 <code><span style="font-family: NSimsun; color: #800080;">type</span></code> 是不区分字母大小写的。 </p>
<p><a name="IDX1297" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">EXTRACT(type FROM date)</span></code> </dt>
<dd><code><span style="font-family: NSimsun; color: #800080;">EXTRACT()</span></code> 函数使用与 <code><span style="font-family: NSimsun; color: #800080;">DATE_ADD()</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">DATE_SUB()</span></code> 一致的间隔类型，但是它用于指定从日期中提取的部分，而不是进行日期算术运算。</p>
<pre>mysql&gt; SELECT EXTRACT(YEAR FROM "1999-07-02");
       -&gt; 1999
mysql&gt; SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
       -&gt; 199907
mysql&gt; SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
       -&gt; 20102</pre>
<p><a name="IDX1298" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">TO_DAYS(date)</span></code> </dt>
<dd>给出一个日期 <code><span style="font-family: NSimsun; color: #800080;">date</span></code>，返回一个天数(从 0 年开始的天数)：</p>
<pre>mysql&gt; SELECT TO_DAYS(950501);
        -&gt; 728779
mysql&gt; SELECT TO_DAYS('1997-10-07');
        -&gt; 729669</pre>
<p><code><span style="font-family: NSimsun; color: #800080;">TO_DAYS()</span></code> 无意于使用先于格里高里历法(即现行的阳历)(1582)出现的值，因为它不考虑当历法改变时所遗失的天数。 </p>
<p><a name="IDX1299" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">FROM_DAYS(N)</span></code> </dt>
<dd>给出一个天数 <code><span style="font-family: NSimsun; color: #800080;">N</span></code>，返回一个 <code><span style="font-family: NSimsun; color: #800080;">DATE</span></code> 值：</p>
<pre>mysql&gt; SELECT FROM_DAYS(729669);
        -&gt; '1997-10-07'</pre>
<p><code><span style="font-family: NSimsun; color: #800080;">FROM_DAYS()</span></code> 无意于使用先于格里高里历法(1582)出现的值，因为它不考虑当历法改变时所遗失的天数。 </p>
<p><a name="IDX1300" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">DATE_FORMAT(date,format)</span></code> </dt>
<dd>依照 <code><span style="font-family: NSimsun; color: #800080;">format</span></code> 字符串格式化 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 值。下面的修饰符可被用于 <code><span style="font-family: NSimsun; color: #800080;">format</span></code> 字符串中：</p>
<table border="1" width="90%">
<tbody>
<tr>
<td><strong>修饰符 </strong></td>
<td><strong>含义 </strong></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%M</span></code></td>
<td>月的名字 (<code><span style="font-family: NSimsun; color: #800080;">January</span></code>..<code><span style="font-family: NSimsun; color: #800080;">December</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%W</span></code></td>
<td>星期的名字 (<code><span style="font-family: NSimsun; color: #800080;">Sunday</span></code>..<code><span style="font-family: NSimsun; color: #800080;">Saturday</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%D</span></code></td>
<td>有英文后缀的某月的第几天 (<code><span style="font-family: NSimsun; color: #800080;">0th</span></code>, <code><span style="font-family: NSimsun; color: #800080;">1st</span></code>, <code><span style="font-family: NSimsun; color: #800080;">2nd</span></code>, <code><span style="font-family: NSimsun; color: #800080;">3rd</span></code>, etc.)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%Y</span></code></td>
<td>年份，数字的，4 位</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%y</span></code></td>
<td>年份，数字的，2 位</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%X</span></code></td>
<td>周值的年份，星期日是一个星期的第一天，数字的，4 位，与 &#8216;%V&#8217; 一同使用</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%x</span></code></td>
<td>周值的年份，星期一是一个星期的第一天，数字的，4 位，与 &#8216;%v&#8217; 一同使用</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%a</span></code></td>
<td>缩写的星期名 (<code><span style="font-family: NSimsun; color: #800080;">Sun</span></code>..<code><span style="font-family: NSimsun; color: #800080;">Sat</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%d</span></code></td>
<td>月份中的天数，数字的 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">31</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%e</span></code></td>
<td>月份中的天数，数字的 (<code><span style="font-family: NSimsun; color: #800080;">0</span></code>..<code><span style="font-family: NSimsun; color: #800080;">31</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%m</span></code></td>
<td>月，数字的 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">12</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%c</span></code></td>
<td>月，数字的 (<code><span style="font-family: NSimsun; color: #800080;">0</span></code>..<code><span style="font-family: NSimsun; color: #800080;">12</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%b</span></code></td>
<td>缩写的月份名 (<code><span style="font-family: NSimsun; color: #800080;">Jan</span></code>..<code><span style="font-family: NSimsun; color: #800080;">Dec</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%j</span></code></td>
<td>一年中的天数 (<code><span style="font-family: NSimsun; color: #800080;">001</span></code>..<code><span style="font-family: NSimsun; color: #800080;">366</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%H</span></code></td>
<td>小时 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">23</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%k</span></code></td>
<td>小时 (<code><span style="font-family: NSimsun; color: #800080;">0</span></code>..<code><span style="font-family: NSimsun; color: #800080;">23</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%h</span></code></td>
<td>小时 (<code><span style="font-family: NSimsun; color: #800080;">01</span></code>..<code><span style="font-family: NSimsun; color: #800080;">12</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%I</span></code></td>
<td>小时 (<code><span style="font-family: NSimsun; color: #800080;">01</span></code>..<code><span style="font-family: NSimsun; color: #800080;">12</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%l</span></code></td>
<td>小时 (<code><span style="font-family: NSimsun; color: #800080;">1</span></code>..<code><span style="font-family: NSimsun; color: #800080;">12</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%i</span></code></td>
<td>分钟，数字的 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">59</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%r</span></code></td>
<td>时间，12 小时 (<code><span style="font-family: NSimsun; color: #800080;">hh:mm:ss [AP]M</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%T</span></code></td>
<td>时间，24 小时 (<code><span style="font-family: NSimsun; color: #800080;">hh:mm:ss</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%S</span></code></td>
<td>秒 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">59</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%s</span></code></td>
<td>秒 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">59</span></code>)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%p</span></code></td>
<td><code><span style="font-family: NSimsun; color: #800080;">AM</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">PM</span></code></td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%w</span></code></td>
<td>一周中的天数 (<code><span style="font-family: NSimsun; color: #800080;">0</span></code>=Sunday..<code><span style="font-family: NSimsun; color: #800080;">6</span></code>=Saturday)</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%U</span></code></td>
<td>星期 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">53</span></code>)，星期日是一个星期的第一天</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%u</span></code></td>
<td>星期 (<code><span style="font-family: NSimsun; color: #800080;">00</span></code>..<code><span style="font-family: NSimsun; color: #800080;">53</span></code>)，星期一是一个星期的第一天</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%V</span></code></td>
<td>星期 (<code><span style="font-family: NSimsun; color: #800080;">01</span></code>..<code><span style="font-family: NSimsun; color: #800080;">53</span></code>)，星期日是一个星期的第一天。与 &#8216;%X&#8217; 一起使用</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%v</span></code></td>
<td>星期 (<code><span style="font-family: NSimsun; color: #800080;">01</span></code>..<code><span style="font-family: NSimsun; color: #800080;">53</span></code>)，星期一是一个星期的第一天。与 &#8216;%x&#8217; 一起使用</td>
</tr>
<tr>
<td><code><span style="font-family: NSimsun; color: #800080;">%%</span></code></td>
<td>一个字母 <samp><span style="font-family: NSimsun; color: #000080;">“%”</span></samp></td>
</tr>
</tbody>
</table>
<p>所有其它的字符不经过解释，直接复制到结果中：</p>
<pre>mysql&gt; SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
        -&gt; 'Saturday October 1997'
mysql&gt; SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
        -&gt; '22:23:00'
mysql&gt; SELECT DATE_FORMAT('1997-10-04 22:23:00',
                          '%D %y %a %d %m %b %j');
        -&gt; '4th 97 Sat 04 10 Oct 277'
mysql&gt; SELECT DATE_FORMAT('1997-10-04 22:23:00',
                          '%H %k %I %r %T %S %w');
        -&gt; '22 22 10 10:23:00 PM 22:23:00 00 6'
mysql&gt; SELECT DATE_FORMAT('1999-01-01', '%X %V');
        -&gt; '1998 52'</pre>
<p>在 MySQL 3.23 中，在格式修饰符前需要字符 <samp><span style="font-family: NSimsun; color: #000080;">`%&#8217;</span></samp>。在更早的 MySQL 版本中，<samp><span style="font-family: NSimsun; color: #000080;">`%&#8217;</span></samp> 是可选的。 月份与天修饰符的范围从零开始的原因是，在 MySQL 3.23 中，它允许存储不完善的日期值(例如 <code><span style="font-family: NSimsun; color: #800080;">'2004-00-00'</span></code>)。 </p>
<p><a name="IDX1301" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">TIME_FORMAT(time,format)</span></code> </dt>
<dd>它的使用方法与上面的 <code><span style="font-family: NSimsun; color: #800080;">DATE_FORMAT()</span></code> 函数相似，但是 <code><span style="font-family: NSimsun; color: #800080;">format</span></code> 字符串只包含处理小时、分和秒的那些格式修饰符。使用其它的修饰符会产生一个 <code><span style="font-family: NSimsun; color: #800080;">NULL</span></code> 值或 <code><span style="font-family: NSimsun; color: #800080;">0</span></code>。 <a name="IDX1302" target="_blank"></a><a name="IDX1303" target="_blank"></a></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">CURDATE()</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">CURRENT_DATE</span></code> </dt>
<dd>以 <code><span style="font-family: NSimsun; color: #800080;">'YYYY-MM-DD'</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YYYYMMDD</span></code> 格式返回当前的日期值，返回的格式取决于该函数是用于字符串还是数字语境中：</p>
<pre>mysql&gt; SELECT CURDATE();
        -&gt; '1997-12-15'
mysql&gt; SELECT CURDATE() + 0;
        -&gt; 19971215</pre>
<p><a name="IDX1304" target="_blank"></a><a name="IDX1305" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">CURTIME()</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">CURRENT_TIME</span></code> </dt>
<dd>以 <code><span style="font-family: NSimsun; color: #800080;">'HH:MM:SS'</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">HHMMSS</span></code> 格式返回当前的时间值，返回的格式取决于该函数是用于字符串还是数字语境中：</p>
<pre>mysql&gt; SELECT CURTIME();
        -&gt; '23:50:26'
mysql&gt; SELECT CURTIME() + 0;
        -&gt; 235026</pre>
<p><a name="IDX1306" target="_blank"></a><a name="IDX1307" target="_blank"></a><a name="IDX1308" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">NOW()</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">SYSDATE()</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">CURRENT_TIMESTAMP</span></code> </dt>
<dd>以 <code><span style="font-family: NSimsun; color: #800080;">'YYYY-MM-DD HH:MM:SS'</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YYYYMMDDHHMMSS</span></code> 格式返回当前的日期时间值，返回的格式取决于该函数是用于字符串还是数字语境中：</p>
<pre>mysql&gt; SELECT NOW();
        -&gt; '1997-12-15 23:50:26'
mysql&gt; SELECT NOW() + 0;
        -&gt; 19971215235026</pre>
<p>注意，函数 <code><span style="font-family: NSimsun; color: #800080;">NOW()</span></code> 在每个查询中只计算一次，也就是在查询开始执行时。这就是说，如果在一个单独的查询中多次引用了 <code><span style="font-family: NSimsun; color: #800080;">NOW()</span></code>，它只会给出值都是一个相同的时间。 </p>
<p><a name="IDX1309" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">UNIX_TIMESTAMP()</span></code> </dt>
<dd></dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">UNIX_TIMESTAMP(date)</span></code> </dt>
<dd>如果调用时没有参数，以无符号的整数形式返回一个 Unix 时间戳(从 <code><span style="font-family: NSimsun; color: #800080;">'1970-01-01 00:00:00'</span></code> GMT 开始的秒数)。如果以一个参数 <code><span style="font-family: NSimsun; color: #800080;">date</span></code> 调用 <code><span style="font-family: NSimsun; color: #800080;">UNIX_TIMESTAMP()</span></code>，它将返回该参数值从 <code><span style="font-family: NSimsun; color: #800080;">'1970-01-01 00:00:00'</span></code> GMT 开始经过的秒数值。<code><span style="font-family: NSimsun; color: #800080;">date</span></code> 可以是一个 <code><span style="font-family: NSimsun; color: #800080;">DATE</span></code> 字符串，一个 <code><span style="font-family: NSimsun; color: #800080;">DATETIME</span></code> 字符串，一个 <code><span style="font-family: NSimsun; color: #800080;">TIMESTAMP</span></code>，或者以一个 <code><span style="font-family: NSimsun; color: #800080;">YYMMDD</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YYYYMMDD</span></code> 显示的本地时间：</p>
<pre>mysql&gt; SELECT UNIX_TIMESTAMP();
        -&gt; 882226357
mysql&gt; SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
        -&gt; 875996580</pre>
<p>当 <code><span style="font-family: NSimsun; color: #800080;">UNIX_TIMESTAMP</span></code> 被用于一个 <code><span style="font-family: NSimsun; color: #800080;">TIMESTAMP</span></code> 列时，函数直接返回一个内部的时间戳值，而不进行一个隐含地 “string-to-unix-timestamp” 转换。如果你传递一个超出范围的日期参数给 <code><span style="font-family: NSimsun; color: #800080;">UNIX_TIMESTAMP()</span></code> ，它将返回 0，但是请注意，MySQL 对其仅仅进行基本的检验(年范围 1970-2037，月份 01-12，日期 01-31)。 如果你希望减去 <code><span style="font-family: NSimsun; color: #800080;">UNIX_TIMESTAMP()</span></code> 列，你应该需要将结果强制转换为一有符号整数。查看章节 <a href="http://zhangwenjie.net/wp-admin/#" target="_blank">6.3.5 Cast 函数</a>。 </p>
<p><a name="IDX1310" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">FROM_UNIXTIME(unix_timestamp [,format])</span></code> </dt>
<dd>以 <code><span style="font-family: NSimsun; color: #800080;">'YYYY-MM-DD HH:MM:SS'</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">YYYYMMDDHHMMSS</span></code> 格式返回一个 <code><span style="font-family: NSimsun; color: #800080;">unix_timestamp</span></code> 参数值，返回值的形式取决于该函数使用于字符串还是数字语境。 如果 <code><span style="font-family: NSimsun; color: #800080;">format</span></code> 给出，返回值依 <code><span style="font-family: NSimsun; color: #800080;">format</span></code> 字符串被格式。<code><span style="font-family: NSimsun; color: #800080;">format</span></code> 可以包含与 <code><span style="font-family: NSimsun; color: #800080;">DATE_FORMAT()</span></code> 函数同样的修饰符。</p>
<pre>mysql&gt; SELECT FROM_UNIXTIME(875996580);
        -&gt; '1997-10-04 22:23:00'
mysql&gt; SELECT FROM_UNIXTIME(875996580) + 0;
        -&gt; 19971004222300
mysql&gt; SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
                            '%Y %D %M %h:%i:%s %x');
        -&gt; '1997 23rd December 03:43:30 1997'</pre>
<p><a name="IDX1311" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">SEC_TO_TIME(seconds)</span></code> </dt>
<dd>以 <code><span style="font-family: NSimsun; color: #800080;">'HH:MM:SS'</span></code> 或 <code><span style="font-family: NSimsun; color: #800080;">HHMMSS</span></code> 格式返回参数 <code><span style="font-family: NSimsun; color: #800080;">seconds</span></code> 被转换到时分秒后的值，返回值的形式取决于该函数使用于字符串还是数字语境：</p>
<pre>mysql&gt; SELECT SEC_TO_TIME(2378);
        -&gt; '00:39:38'
mysql&gt; SELECT SEC_TO_TIME(2378) + 0;
        -&gt; 3938</pre>
<p><a name="IDX1312" target="_blank"></a></p>
</dd>
<dt><code><span style="font-family: NSimsun; color: #800080;">TIME_TO_SEC(time)</span></code> </dt>
<dd>将参数 <code><span style="font-family: NSimsun; color: #800080;">time</span></code> 转换为秒数后返回：</p>
<pre>mysql&gt; SELECT TIME_TO_SEC('22:23:00');
        -&gt; 80580
mysql&gt; SELECT TIME_TO_SEC('00:39:38');
        -&gt; 2378</pre>
</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://zhangwenjie.net/archives/25/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

