[TOC]
# 函數
## 日期時間函數
日期時間函數主要用來顯示有關日期和時間的信息。
#### CURDATE
**聲明**
~~~
CURDATE()
~~~
**說明**
返回當前日期,不含時間部分。
**例子**
~~~
obclient> SELECT CURDATE();
+------------+
| CURDATE() |
+------------+
| 2018-05-05 |
+------------+
1 row in set (0.00 sec)
~~~
#### CURRENT\_DATE
**聲明**
~~~
CURRENT_DATE()
CURRENT_DATE
~~~
**說明**
同`CURDATE()`。
#### CURRENT\_TIME
**聲明**
~~~
CURRENT_TIME([scale])
~~~
**說明**
返回當前時間,不含日期部分。
`scale`有效值為 0 到 6,表示微秒部分精度,默認值為 0。
**例子**
~~~
obclient> SELECT CURRENT_TIME(6);
+-----------------+
| CURRENT_TIME(6) |
+-----------------+
| 11:11:45.215311 |
+-----------------+
1 row in set (0.01 sec)
~~~
#### CURRENT\_TIMESTAMP
**聲明**
~~~
CURRENT_TIMESTAMP([scale])
~~~
**說明**
返回當前日期時間,考慮時區設置。
`scale`有效值為 0 到 6,表示微秒部分精度,默認值為 0。
**例子**
~~~
obclient> SELECT CURRENT_TIMESTAMP(6);
+----------------------------+
| CURRENT_TIMESTAMP(6) |
+----------------------------+
| 2018-05-05 11:35:39.177764 |
+----------------------------+
1 row in set (0.01 sec)
~~~
#### CURTIME
**聲明**
~~~
CURTIME()
~~~
**說明**
同`CURRENT_TIME()`。
#### DATE\_ADD
**聲明**
~~~
DATE_ADD(date, INTERVAL expr unit)
~~~
**說明**
日期時間的算術計算。
* `date`表示日期時間基準,日期部分必選,時間部分可選。
* `expr`表示時間間隔,可以為負值。
* `unit`表示時間間隔單位。
以下為所有時間間隔單位列表:
<table data-tag="table" id="table-wfl-77i-lr2" class="table"><colgroup span="1" width="180" data-tag="col" id="col-u8o-x0m-bmd" colwidth="1*" colnum="1" colname="col1" style="width:25%" class="col"></colgroup><colgroup span="1" width="180" data-tag="col" id="col-u3b-kp9-lc7" colwidth="1*" colnum="2" colname="col2" style="width:25%" class="col"></colgroup><colgroup span="1" width="180" data-tag="col" id="col-pzo-0rt-fsg" colwidth="1*" colnum="3" colname="col3" style="width:25%" class="col"></colgroup><colgroup span="1" width="180" data-tag="col" id="col-nww-roz-hrt" colwidth="1*" colnum="4" colname="col4" style="width:25%" class="col"></colgroup><thead id="thead-bdd-1oy-lqj" class="thead"><tr id="tr-r6j-7rq-4w2"><th id="td-8pa-170-0lm"><p id="p-3tc-5ge-iqa">單位</p></th><th id="td-zut-twq-ltf"><p id="p-gth-bdr-9uz">類型</p></th><th id="td-fr8-4w6-3fy"><p id="p-eii-ls9-j6d">含義</p></th><th id="td-ek3-jyu-vn9"><p id="p-sb4-zb0-yww">格式</p></th></tr></thead><tbody data-tag="tbody" id="tbody-uwu-faj-bh5" class="tbody"><tr data-tag="tr" id="tr-lp7-9q7-epv" class="tr"><td data-tag="td" id="td-43o-95p-psf" class="td"><p id="p-jb5-f14-4co"><code data-tag="code" class="code">MICROSECOND</code></p></td><td data-tag="td" id="td-7na-vwv-rv1" class="td"><p id="p-a9g-m0z-2wr">獨立</p></td><td data-tag="td" id="td-46j-07l-vdo" class="td"><p id="p-qz8-9wq-wb7">微秒</p></td><td data-tag="td" id="td-u0n-onl-5mp" class="td"><p id="p-1t9-kzl-cj2"><code data-tag="code" class="code">MICROSECONDS</code></p></td></tr><tr data-tag="tr" id="tr-71m-b6v-5dl" class="tr"><td data-tag="td" id="td-3d9-h6y-q4p" class="td"><p id="p-1th-2rf-9uw"><code data-tag="code" class="code">SECOND</code></p></td><td data-tag="td" id="td-2c6-hy9-ey3" class="td"><p id="p-gof-gee-ld7">獨立</p></td><td data-tag="td" id="td-bq9-f0d-pa4" class="td"><p id="p-bt4-uli-d6s">秒</p></td><td data-tag="td" id="td-jtw-j0i-hdf" class="td"><p id="p-94h-ci5-3lu"><code data-tag="code" class="code">SECONDS</code></p></td></tr><tr data-tag="tr" id="tr-q4g-zn6-nkk" class="tr"><td data-tag="td" id="td-d83-suu-hq4" class="td"><p id="p-ubp-d51-01y"><code data-tag="code" class="code">MINUTE</code></p></td><td data-tag="td" id="td-7ab-64q-7iz" class="td"><p id="p-ir3-hgs-90s">獨立</p></td><td data-tag="td" id="td-ek7-cqd-rf9" class="td"><p id="p-ohu-p54-ff5">分鐘</p></td><td data-tag="td" id="td-w5c-5y1-6mf" class="td"><p id="p-e68-n45-pxr"><code data-tag="code" class="code">MINUTES</code></p></td></tr><tr data-tag="tr" id="tr-tpw-mve-hx4" class="tr"><td data-tag="td" id="td-4dk-i36-1p9" class="td"><p id="p-i8j-wa6-0jx"><code data-tag="code" class="code">HOUR</code></p></td><td data-tag="td" id="td-b4q-26j-wnj" class="td"><p id="p-9d1-55u-ze7">獨立</p></td><td data-tag="td" id="td-ccv-vfl-y9t" class="td"><p id="p-zva-6ng-3hu">小時</p></td><td data-tag="td" id="td-6br-spc-ir4" class="td"><p id="p-9hq-poo-91l"><code data-tag="code" class="code">HOURS</code></p></td></tr><tr data-tag="tr" id="tr-lem-6sc-ona" class="tr"><td data-tag="td" id="td-dmd-nig-sx6" class="td"><p id="p-gy5-cus-1op"><code data-tag="code" class="code">DAY</code></p></td><td data-tag="td" id="td-s6t-g0h-hnn" class="td"><p id="p-buj-73d-fxa">獨立</p></td><td data-tag="td" id="td-msr-63x-dm8" class="td"><p id="p-flq-ahv-tx7">天</p></td><td data-tag="td" id="td-yyi-g76-mcn" class="td"><p id="p-9hl-7nv-vo6"><code data-tag="code" class="code">DAYS</code></p></td></tr><tr data-tag="tr" id="tr-dq8-vfr-dz1" class="tr"><td data-tag="td" id="td-dhm-kzb-dyz" class="td"><p id="p-a4c-q15-n54"><code data-tag="code" class="code">WEEK</code></p></td><td data-tag="td" id="td-c19-exo-py2" class="td"><p id="p-lp9-1ph-ui5">獨立</p></td><td data-tag="td" id="td-9ji-aw6-84f" class="td"><p id="p-m37-26y-3id">周</p></td><td data-tag="td" id="td-l37-l0f-yk3" class="td"><p id="p-9ie-caa-q4q"><code data-tag="code" class="code">WEEKS</code></p></td></tr><tr data-tag="tr" id="tr-6mf-cw8-pfw" class="tr"><td data-tag="td" id="td-fbi-zzu-9zb" class="td"><p id="p-apz-30t-w8o"><code data-tag="code" class="code">MONTH</code></p></td><td data-tag="td" id="td-fa4-tc2-1n6" class="td"><p id="p-77n-nqi-sa2">獨立</p></td><td data-tag="td" id="td-yrn-2fa-mcm" class="td"><p id="p-1ay-azh-h1a">月</p></td><td data-tag="td" id="td-0lu-8w4-ztc" class="td"><p id="p-trw-x07-kdm"><code data-tag="code" class="code">MONTHS</code></p></td></tr><tr data-tag="tr" id="tr-dbu-d4o-5sa" class="tr"><td data-tag="td" id="td-cxf-3nh-mbs" class="td"><p id="p-uqs-fq4-ayn"><code data-tag="code" class="code">QUARTER</code></p></td><td data-tag="td" id="td-2rh-2cn-1e8" class="td"><p id="p-hwj-np6-78p">獨立</p></td><td data-tag="td" id="td-tql-mg3-2el" class="td"><p id="p-fiu-0z0-c86">季度</p></td><td data-tag="td" id="td-5vd-ief-3fi" class="td"><p id="p-8ln-tye-i4q"><code data-tag="code" class="code">QUARTERS</code></p></td></tr><tr data-tag="tr" id="tr-1rs-xr5-z22" class="tr"><td data-tag="td" id="td-56h-m9u-01n" class="td"><p id="p-hjk-anp-vpv"><code data-tag="code" class="code">YEAR</code></p></td><td data-tag="td" id="td-y6c-vp3-9eb" class="td"><p id="p-307-p9g-lre">獨立</p></td><td data-tag="td" id="td-hfq-m6i-pnq" class="td"><p id="p-kbd-ajh-pm0">年</p></td><td data-tag="td" id="td-9xf-0yp-spd" class="td"><p id="p-xmz-av3-zp0"><code data-tag="code" class="code">YEARS</code></p></td></tr><tr data-tag="tr" id="tr-621-wzs-42z" class="tr"><td data-tag="td" id="td-rly-q42-9c2" class="td"><p id="p-uzl-g5r-t38"><code data-tag="code" class="code">SECOND_MICROSECOND</code></p></td><td data-tag="td" id="td-3gz-t2w-3m3" class="td"><p id="p-9x1-fox-n2e">組合</p></td><td data-tag="td" id="td-3kf-23j-4fh" class="td"><p id="p-pkk-ji4-25m">秒到微秒</p></td><td data-tag="td" id="td-ame-r0b-8uz" class="td"><p id="p-pln-in9-dcw"><code data-tag="code" class="code">'SECONDS.MICROSECONDS'</code></p></td></tr><tr data-tag="tr" id="tr-jco-bfo-mgt" class="tr"><td data-tag="td" id="td-x9t-156-dgn" class="td"><p id="p-bgo-rv3-8ks"><code data-tag="code" class="code">MINUTE_MICROSECOND</code></p></td><td data-tag="td" id="td-2r6-vmy-ftp" class="td"><p id="p-32o-6uk-82l">組合</p></td><td data-tag="td" id="td-vk6-3m9-e9h" class="td"><p id="p-mvf-cg1-a4j">分鐘到微秒</p></td><td data-tag="td" id="td-l9t-6g7-25s" class="td"><p id="p-ls2-eum-id3"><code data-tag="code" class="code">'MINUTES:SECONDS.MICROSECONDS'</code></p></td></tr><tr data-tag="tr" id="tr-fm0-q0e-tn8" class="tr"><td data-tag="td" id="td-gzr-9jn-zd2" class="td"><p id="p-6ox-eic-q1s"><code data-tag="code" class="code">MINUTE_SECOND</code></p></td><td data-tag="td" id="td-wg5-kj1-zr4" class="td"><p id="p-hqq-qag-2l9">組合</p></td><td data-tag="td" id="td-ukg-0p7-e3f" class="td"><p id="p-pqj-son-nc9">分鐘到秒</p></td><td data-tag="td" id="td-aq2-2ud-7kh" class="td"><p id="p-y07-bg0-5gj"><code data-tag="code" class="code">'MINUTES:SECONDS'</code></p></td></tr><tr data-tag="tr" id="tr-1z9-1r5-zj6" class="tr"><td data-tag="td" id="td-ai5-tkj-qre" class="td"><p id="p-sg7-oy2-qhn"><code data-tag="code" class="code">HOUR_MICROSECOND</code></p></td><td data-tag="td" id="td-k2b-863-q0i" class="td"><p id="p-zll-hhh-plm">組合</p></td><td data-tag="td" id="td-gro-yto-rws" class="td"><p id="p-sov-0xl-024">小時到微秒</p></td><td data-tag="td" id="td-fzr-ckc-9ak" class="td"><p id="p-czq-drx-t8j"><code data-tag="code" class="code">'HOURS:MINUTES:SECONDS.MICROSECONDS'</code></p></td></tr><tr data-tag="tr" id="tr-muw-90q-a6a" class="tr"><td data-tag="td" id="td-55i-6y2-i4s" class="td"><p id="p-cqa-j5c-dtg"><code data-tag="code" class="code">HOUR_SECOND</code></p></td><td data-tag="td" id="td-dat-cro-j3s" class="td"><p id="p-cm3-hvv-r1a">組合</p></td><td data-tag="td" id="td-6kj-v5d-ua1" class="td"><p id="p-d16-8j9-s22">小時到秒</p></td><td data-tag="td" id="td-fym-gj5-4m2" class="td"><p id="p-4fv-pc9-l52"><code data-tag="code" class="code">'HOURS:MINUTES:SECONDS'</code></p></td></tr><tr data-tag="tr" id="tr-6fn-5wx-rez" class="tr"><td data-tag="td" id="td-mzx-232-mof" class="td"><p id="p-a7r-v7t-fh6"><code data-tag="code" class="code">HOUR_MINUTE</code></p></td><td data-tag="td" id="td-4fm-qyk-p7t" class="td"><p id="p-sxv-ymz-6mk">組合</p></td><td data-tag="td" id="td-nd4-d95-6qb" class="td"><p id="p-pfg-14h-z9o">小時到分鐘</p></td><td data-tag="td" id="td-9xr-6qo-awn" class="td"><p id="p-23z-28t-2wt"><code data-tag="code" class="code">'HOURS:MINUTES'</code></p></td></tr><tr data-tag="tr" id="tr-8uu-2j6-54e" class="tr"><td data-tag="td" id="td-nuh-r04-2ju" class="td"><p id="p-8lm-vm0-hw0"><code data-tag="code" class="code">DAY_SECOND</code></p></td><td data-tag="td" id="td-3zl-71o-5jy" class="td"><p id="p-o96-k9d-rxn">組合</p></td><td data-tag="td" id="td-1kl-j7t-4mf" class="td"><p id="p-3ep-6ml-9f0">天到秒</p></td><td data-tag="td" id="td-aji-mdp-66m" class="td"><p id="p-4cz-4m6-7w1"><code data-tag="code" class="code">'DAYS HOURS:MINUTES:SECONDS'</code></p></td></tr><tr data-tag="tr" id="tr-cuz-j6k-cih" class="tr"><td data-tag="td" id="td-e03-vet-hy0" class="td"><p id="p-czy-x0e-g62"><code data-tag="code" class="code">DAY_MINUTE</code></p></td><td data-tag="td" id="td-m8m-bou-xli" class="td"><p id="p-7e4-lgw-brn">組合</p></td><td data-tag="td" id="td-y7v-blk-gcc" class="td"><p id="p-k7b-kcm-1cy">天到分鐘</p></td><td data-tag="td" id="td-16a-p8h-nha" class="td"><p id="p-5av-d1i-h67"><code data-tag="code" class="code">'DDAYSD HOURS:MINUTES'</code></p></td></tr><tr data-tag="tr" id="tr-aqi-n5o-byn" class="tr"><td data-tag="td" id="td-jhs-rbg-ayn" class="td"><p id="p-kzz-stc-bt3"><code data-tag="code" class="code">DAY_HOUR</code></p></td><td data-tag="td" id="td-th1-tzv-dn5" class="td"><p id="p-jsq-r0m-p9g">組合</p></td><td data-tag="td" id="td-2rl-gk5-6jc" class="td"><p id="p-7hj-0z4-55x">天到小時</p></td><td data-tag="td" id="td-zij-m52-swy" class="td"><p id="p-gli-9ps-j1m"><code data-tag="code" class="code">'DAYS HOURS'</code></p></td></tr><tr data-tag="tr" id="tr-7u0-5gn-vtp" class="tr"><td data-tag="td" id="td-ln5-1qy-lf4" class="td"><p id="p-uu0-6yy-slg"><code data-tag="code" class="code">YEAR_MONTH</code></p></td><td data-tag="td" id="td-9n5-wg3-al3" class="td"><p id="p-7xb-8u4-7jr">組合</p></td><td data-tag="td" id="td-1p3-d9g-s1b" class="td"><p id="p-c3a-6zw-bwm">年到月</p></td><td data-tag="td" id="td-4dm-ba1-8b1" class="td"><p id="p-mv9-19l-kev"><code data-tag="code" class="code">'YEARS-MONTHS'</code></p></td></tr></tbody></table>
**例子**
~~~
obclient> SELECT
-> DATE_ADD(NOW(), INTERVAL 5 DAY),
-> DATE_ADD('2014-01-10', INTERVAL 5 MICROSECOND),
-> DATE_ADD('2014-01-10', INTERVAL 5 SECOND),
-> DATE_ADD('2014-01-10', INTERVAL 5 MINUTE),
-> DATE_ADD('2014-01-10', INTERVAL 5 HOUR),
-> DATE_ADD('2014-01-10', INTERVAL 5 DAY),
-> DATE_ADD('2014-01-10', INTERVAL 5 WEEK),
-> DATE_ADD('2014-01-10', INTERVAL 5 MONTH),
-> DATE_ADD('2014-01-10', INTERVAL 5 QUARTER),
-> DATE_ADD('2014-01-10', INTERVAL 5 YEAR),
-> DATE_ADD('2014-01-10', INTERVAL '5.000005' SECOND_MICROSECOND),
-> DATE_ADD('2014-01-10', INTERVAL '05:05.000005' MINUTE_MICROSECOND),
-> DATE_ADD('2014-01-10', INTERVAL '05:05' MINUTE_SECOND),
-> DATE_ADD('2014-01-10', INTERVAL '05:05:05.000005' HOUR_MICROSECOND),
-> DATE_ADD('2014-01-10', INTERVAL '05:05:05' HOUR_SECOND),
-> DATE_ADD('2014-01-10', INTERVAL '05:05' HOUR_MINUTE),
-> DATE_ADD('2014-01-10', INTERVAL '01 05:05:05.000005' DAY_MICROSECOND),
-> DATE_ADD('2014-01-10', INTERVAL '01 05:05:05' DAY_SECOND),
-> DATE_ADD('2014-01-10', INTERVAL '01 05:05' DAY_MINUTE),
-> DATE_ADD('2014-01-10', INTERVAL '01 05' DAY_HOUR),
-> DATE_ADD('2014-01-10', INTERVAL '1-01' YEAR_MONTH)
-> \G
*************************** 1. row ***************************
DATE_ADD(NOW(), INTERVAL 5 DAY): 2018-05-10 14:54:52
DATE_ADD('2014-01-10', INTERVAL 5 MICROSECOND): 2014-01-10 00:00:00.000005
DATE_ADD('2014-01-10', INTERVAL 5 SECOND): 2014-01-10 00:00:05
DATE_ADD('2014-01-10', INTERVAL 5 MINUTE): 2014-01-10 00:05:00
DATE_ADD('2014-01-10', INTERVAL 5 HOUR): 2014-01-10 05:00:00
DATE_ADD('2014-01-10', INTERVAL 5 DAY): 2014-01-15
DATE_ADD('2014-01-10', INTERVAL 5 WEEK): 2014-02-14
DATE_ADD('2014-01-10', INTERVAL 5 MONTH): 2014-06-10
DATE_ADD('2014-01-10', INTERVAL 5 QUARTER): 2015-04-10
DATE_ADD('2014-01-10', INTERVAL 5 YEAR): 2019-01-10
DATE_ADD('2014-01-10', INTERVAL '5.000005' SECOND_MICROSECOND): 2014-01-10 00:00:05.000005
DATE_ADD('2014-01-10', INTERVAL '05:05.000005' MINUTE_MICROSECOND): 2014-01-10 00:05:05.000005
DATE_ADD('2014-01-10', INTERVAL '05:05' MINUTE_SECOND): 2014-01-10 00:05:05
DATE_ADD('2014-01-10', INTERVAL '05:05:05.000005' HOUR_MICROSECOND): 2014-01-10 05:05:05.000005
DATE_ADD('2014-01-10', INTERVAL '05:05:05' HOUR_SECOND): 2014-01-10 05:05:05
DATE_ADD('2014-01-10', INTERVAL '05:05' HOUR_MINUTE): 2014-01-10 05:05:00
DATE_ADD('2014-01-10', INTERVAL '01 05:05:05.000005' DAY_MICROSECOND): 2014-01-11 05:05:05.000005
DATE_ADD('2014-01-10', INTERVAL '01 05:05:05' DAY_SECOND): 2014-01-11 05:05:05
DATE_ADD('2014-01-10', INTERVAL '01 05:05' DAY_MINUTE): 2014-01-11 05:05:00
DATE_ADD('2014-01-10', INTERVAL '01 05' DAY_HOUR): 2014-01-11 05:00:00
DATE_ADD('2014-01-10', INTERVAL '1-01' YEAR_MONTH): 2015-02-10
1 row in set (0.01 sec)
~~~
#### DATE\_FORMAT
**聲明**
~~~
DATE_FORMAT(date, format)
~~~
**說明**
將日期時間以指定格式輸出。
* `date`表示日期時間。
* `format`表示輸出格式。
以下為所有輸出格式列表:
<table data-tag="table" id="table-9qi-eg9-itb" class="table"><colgroup span="1" width="240" data-tag="col" id="col-y7r-lza-rnc" colwidth="1*" colnum="1" colname="col1" style="width:33.33333333333333%" class="col"></colgroup><colgroup span="1" width="240" data-tag="col" id="col-r28-e9w-u9j" colwidth="1*" colnum="2" colname="col2" style="width:33.33333333333333%" class="col"></colgroup><colgroup span="1" width="240" data-tag="col" id="col-ltg-vfw-d3w" colwidth="1*" colnum="3" colname="col3" style="width:33.33333333333333%" class="col"></colgroup><thead id="thead-rrx-ci6-ymy" class="thead"><tr id="tr-ckh-s2t-yi0"><th id="td-g64-mkb-m5n"><p id="p-2lp-zif-sc0">格式符</p></th><th id="td-mvj-ojk-1zi"><p id="p-my3-ef8-hq0">含義</p></th><th id="td-4nq-seb-0ek"><p id="p-uc3-lpo-cj1">格式</p></th></tr></thead><tbody data-tag="tbody" id="tbody-y1l-723-ra5" class="tbody"><tr data-tag="tr" id="tr-9h9-hpc-f7d" class="tr"><td data-tag="td" id="td-shw-n5l-8u5" class="td"><p id="p-yux-wya-hoz"><code data-tag="code" class="code">%a</code></p></td><td data-tag="td" id="td-gc8-umf-uvm" class="td"><p id="p-141-88s-2dn">星期的英文縮寫。</p></td><td data-tag="td" id="td-vfu-vcq-dva" class="td"><p id="p-91b-95p-2g2"><code data-tag="code" class="code">Sun..Sat</code></p></td></tr><tr data-tag="tr" id="tr-a0d-rtj-7i7" class="tr"><td data-tag="td" id="td-47i-dtl-ooz" class="td"><p id="p-ilu-6r1-5ar"><code data-tag="code" class="code">%b</code></p></td><td data-tag="td" id="td-3ma-tdl-ox6" class="td"><p id="p-v79-7p9-gbd">月份的英文縮寫。</p></td><td data-tag="td" id="td-09b-9hw-u64" class="td"><p id="p-r48-agb-7ge"><code data-tag="code" class="code">Jan..Dec</code></p></td></tr><tr data-tag="tr" id="tr-1vm-uty-zb2" class="tr"><td data-tag="td" id="td-hc8-1kj-w0t" class="td"><p id="p-dum-dna-rop"><code data-tag="code" class="code">%c</code></p></td><td data-tag="td" id="td-49e-w7r-q1l" class="td"><p id="p-22p-7vx-0t0">月份的數字形式。</p></td><td data-tag="td" id="td-y05-nzv-wpt" class="td"><p id="p-d7t-y97-8ij"><code data-tag="code" class="code">1..12</code></p></td></tr><tr data-tag="tr" id="tr-fy1-unw-e9d" class="tr"><td data-tag="td" id="td-sbz-09f-l7m" class="td"><p id="p-yy3-6ww-385"><code data-tag="code" class="code">%D</code></p></td><td data-tag="td" id="td-sxi-c3m-deo" class="td"><p id="p-vdy-suk-ukd">日的英文縮寫。</p></td><td data-tag="td" id="td-cbw-q4q-fzl" class="td"><p id="p-7bz-cwb-8le"><code data-tag="code" class="code">1st..31st</code></p></td></tr><tr data-tag="tr" id="tr-3bq-27k-ryi" class="tr"><td data-tag="td" id="td-0ll-50m-kuk" class="td"><p id="p-pzl-ml3-nvr"><code data-tag="code" class="code">%d</code></p></td><td data-tag="td" id="td-0hf-0h5-43z" class="td"><p id="p-1fb-p9f-r9t">日的數字形式。</p></td><td data-tag="td" id="td-219-iyt-gjs" class="td"><p id="p-jtv-fui-3ml"><code data-tag="code" class="code">01..31</code></p></td></tr><tr data-tag="tr" id="tr-tas-mgp-tvc" class="tr"><td data-tag="td" id="td-wge-ks6-5g5" class="td"><p id="p-5v5-wbb-sj3"><code data-tag="code" class="code">%e</code></p></td><td data-tag="td" id="td-f6z-q9i-v8f" class="td"><p id="p-pky-r2n-l1n">日的數字形式。</p></td><td data-tag="td" id="td-bzj-2mm-cf7" class="td"><p id="p-fmx-y3f-8o5"><code data-tag="code" class="code">1.. 31</code></p></td></tr><tr data-tag="tr" id="tr-5f4-o52-ak5" class="tr"><td data-tag="td" id="td-2fm-1wv-4mv" class="td"><p id="p-jzf-igw-ovh"><code data-tag="code" class="code">%f</code></p></td><td data-tag="td" id="td-97z-egh-0qr" class="td"><p id="p-ddz-k8i-cpx">微秒。</p></td><td data-tag="td" id="td-nsa-2x4-abb" class="td"><p id="p-hy3-4rh-knp"><code data-tag="code" class="code">000000..999999</code></p></td></tr><tr data-tag="tr" id="tr-qcr-val-yhr" class="tr"><td data-tag="td" id="td-6kk-jiz-xke" class="td"><p id="p-dlm-ybj-ki5"><code data-tag="code" class="code">%H</code></p></td><td data-tag="td" id="td-0ko-aql-tb6" class="td"><p id="p-oq9-iq5-vxe">小時。</p></td><td data-tag="td" id="td-bxt-h9b-nkf" class="td"><p id="p-vf2-a05-6e6"><code data-tag="code" class="code">00..23</code></p></td></tr><tr data-tag="tr" id="tr-fmy-3fh-m8f" class="tr"><td data-tag="td" id="td-dgb-had-hqu" class="td"><p id="p-m26-cyn-foe"><code data-tag="code" class="code">%h</code></p></td><td data-tag="td" id="td-b9n-czz-895" class="td"><p id="p-4c7-s6r-93p">小時。</p></td><td data-tag="td" id="td-5ir-8hj-1h3" class="td"><p id="p-9ua-t3z-gcb"><code data-tag="code" class="code">01..12</code></p></td></tr><tr data-tag="tr" id="tr-23t-gtu-a19" class="tr"><td data-tag="td" id="td-3m4-4i6-jnw" class="td"><p id="p-uif-prw-142"><code data-tag="code" class="code">%I</code></p></td><td data-tag="td" id="td-gb5-y8f-y74" class="td"><p id="p-nvi-m35-f9b">小時。</p></td><td data-tag="td" id="td-yod-v2n-vm6" class="td"><p id="p-vwp-13s-stc"><code data-tag="code" class="code">01..12</code></p></td></tr><tr data-tag="tr" id="tr-v66-1wj-lin" class="tr"><td data-tag="td" id="td-uu2-3lm-zno" class="td"><p id="p-dba-wa9-vdy"><code data-tag="code" class="code">%i</code></p></td><td data-tag="td" id="td-6x5-7i1-588" class="td"><p id="p-nmq-2kj-8lr">分鐘。</p></td><td data-tag="td" id="td-zqs-003-6x8" class="td"><p id="p-d5d-mxg-iva"><code data-tag="code" class="code">00..59</code></p></td></tr><tr data-tag="tr" id="tr-4sx-5sr-i1c" class="tr"><td data-tag="td" id="td-bvx-7rm-bzm" class="td"><p id="p-wg5-9l9-96m"><code data-tag="code" class="code">%j</code></p></td><td data-tag="td" id="td-kn1-op7-oab" class="td"><p id="p-m89-aih-ss3">一年中的第幾天。</p></td><td data-tag="td" id="td-17y-ikp-8qw" class="td"><p id="p-d6b-dm0-nq7"><code data-tag="code" class="code">001..366</code></p></td></tr><tr data-tag="tr" id="tr-ty8-fis-mhe" class="tr"><td data-tag="td" id="td-6dx-0jr-fve" class="td"><p id="p-252-ysb-fuy"><code data-tag="code" class="code">%k</code></p></td><td data-tag="td" id="td-q9u-67c-cb1" class="td"><p id="p-6bj-y49-30k">小時。</p></td><td data-tag="td" id="td-1zv-n5m-r28" class="td"><p id="p-07b-pif-4oh"><code data-tag="code" class="code">0..23</code></p></td></tr><tr data-tag="tr" id="tr-x0q-15i-ues" class="tr"><td data-tag="td" id="td-ea1-ccd-9qp" class="td"><p id="p-12v-mj5-786"><code data-tag="code" class="code">%l</code></p></td><td data-tag="td" id="td-3rv-ubx-5bo" class="td"><p id="p-x3t-7ur-n9z">小時。</p></td><td data-tag="td" id="td-ooe-c2p-feg" class="td"><p id="p-tb8-uny-f5k"><code data-tag="code" class="code">0..12</code></p></td></tr><tr data-tag="tr" id="tr-jsx-jhg-y80" class="tr"><td data-tag="td" id="td-fd9-v1f-xaq" class="td"><p id="p-bcg-oec-p56"><code data-tag="code" class="code">%M</code></p></td><td data-tag="td" id="td-6gd-n99-ild" class="td"><p id="p-jlb-fbb-seh">月份的英文名稱。</p></td><td data-tag="td" id="td-c23-omh-79s" class="td"><p id="p-68y-y8z-cu1"><code data-tag="code" class="code">January..December</code></p></td></tr><tr data-tag="tr" id="tr-3nc-7kn-bon" class="tr"><td data-tag="td" id="td-le6-lu9-y5w" class="td"><p id="p-30e-39t-fe4"><code data-tag="code" class="code">%m</code></p></td><td data-tag="td" id="td-rq4-1jk-jck" class="td"><p id="p-7iq-e1t-kje">月份的數字形式。</p></td><td data-tag="td" id="td-nwm-owd-9at" class="td"><p id="p-th4-in1-4sb"><code data-tag="code" class="code">01..12</code></p></td></tr><tr data-tag="tr" id="tr-149-fdm-2d5" class="tr"><td data-tag="td" id="td-ncf-vkh-jnm" class="td"><p id="p-umi-fqf-r51"><code data-tag="code" class="code">%p</code></p></td><td data-tag="td" id="td-tmr-53g-f9z" class="td"><p id="p-gme-1fp-g6t">上午或下午。</p></td><td data-tag="td" id="td-o1j-1bs-bz9" class="td"><p id="p-wlc-4u8-1n3"><code data-tag="code" class="code">AM/PM</code></p></td></tr><tr data-tag="tr" id="tr-lql-98v-u9k" class="tr"><td data-tag="td" id="td-y0c-rxd-aj4" class="td"><p id="p-rwi-4r6-ivb"><code data-tag="code" class="code">%r</code></p></td><td data-tag="td" id="td-xo7-nrq-wiq" class="td"><p id="p-kza-492-7id">12小時制時間。</p></td><td data-tag="td" id="td-94k-r17-huc" class="td"><p id="p-su0-adn-76p"><code data-tag="code" class="code">hh:mm:ss AM/PM</code></p></td></tr><tr data-tag="tr" id="tr-8xv-yvl-qnu" class="tr"><td data-tag="td" id="td-0ps-lce-upz" class="td"><p id="p-8a5-t6i-ydt"><code data-tag="code" class="code">%S</code></p></td><td data-tag="td" id="td-nhr-hvu-8jl" class="td"><p id="p-avo-wnm-ju7">秒。</p></td><td data-tag="td" id="td-p1o-69z-cmr" class="td"><p id="p-mvz-0uf-1cp"><code data-tag="code" class="code">00..59</code></p></td></tr><tr data-tag="tr" id="tr-qhz-ofo-9g1" class="tr"><td data-tag="td" id="td-3o7-prl-38f" class="td"><p id="p-iyq-9ct-o5j"><code data-tag="code" class="code">%s</code></p></td><td data-tag="td" id="td-mvz-2fi-9cx" class="td"><p id="p-2gw-63a-sli">秒。</p></td><td data-tag="td" id="td-7t1-v2u-t8s" class="td"><p id="p-d5y-9go-doz"><code data-tag="code" class="code">00..59</code></p></td></tr><tr data-tag="tr" id="tr-1pz-2xn-3k1" class="tr"><td data-tag="td" id="td-zjk-1p2-vnr" class="td"><p id="p-3r7-x3k-l2f"><code data-tag="code" class="code">%T</code></p></td><td data-tag="td" id="td-wvx-oha-fs9" class="td"><p id="p-qfz-t9m-tmq">24小時制時間。</p></td><td data-tag="td" id="td-bnw-cww-f9s" class="td"><p id="p-vq1-880-snx"><code data-tag="code" class="code">hh:mm:ss</code></p></td></tr><tr data-tag="tr" id="tr-s7u-8fh-jca" class="tr"><td data-tag="td" id="td-qa8-k0w-cx9" class="td"><p id="p-iay-8aj-ya9"><code data-tag="code" class="code">%U</code></p></td><td data-tag="td" id="td-s4s-ntd-ky8" class="td"><p id="p-06a-43s-y60">一年中的第幾周,周日為每周第一天。</p></td><td data-tag="td" id="td-jnq-9jb-zur" class="td"><p id="p-tyt-g74-y8r"><code data-tag="code" class="code">00..53</code></p></td></tr><tr data-tag="tr" id="tr-0yy-x1i-6i3" class="tr"><td data-tag="td" id="td-pjk-wwg-erg" class="td"><p id="p-mkr-lbl-qzl"><code data-tag="code" class="code">%u</code></p></td><td data-tag="td" id="td-6rb-9aj-qa8" class="td"><p id="p-2yv-box-7in">一年中的第幾周,周一為每周第一天。</p></td><td data-tag="td" id="td-lj0-0a2-76c" class="td"><p id="p-59e-n1v-xzf"><code data-tag="code" class="code">00..53</code></p></td></tr><tr data-tag="tr" id="tr-egv-67n-8j6" class="tr"><td data-tag="td" id="td-v6c-yew-pfe" class="td"><p id="p-fij-yg6-84d"><code data-tag="code" class="code">%V</code></p></td><td data-tag="td" id="td-7ti-emq-cvn" class="td"><p id="p-igr-vq7-wvn">一年中的第幾周,周日為每周第一天(和<code data-tag="code" class="code">%X</code>同時使用)。</p></td><td data-tag="td" id="td-abn-e1e-6v2" class="td"><p id="p-08s-unr-y79"><code data-tag="code" class="code">01..53</code></p></td></tr><tr data-tag="tr" id="tr-6ql-eyh-bzx" class="tr"><td data-tag="td" id="td-w4e-h1c-bdv" class="td"><p id="p-24r-ert-ly0"><code data-tag="code" class="code">%v</code></p></td><td data-tag="td" id="td-ngn-3wy-zsl" class="td"><p id="p-1up-al5-ppy">一年中的第幾周,周一為每周第一天(和<code data-tag="code" class="code">%x</code>同時使用)。</p></td><td data-tag="td" id="td-zvp-yvp-8ey" class="td"><p id="p-nd9-hbk-9sd"><code data-tag="code" class="code">01..53</code></p></td></tr><tr data-tag="tr" id="tr-w5c-9lo-f9k" class="tr"><td data-tag="td" id="td-qup-8kh-wpp" class="td"><p id="p-bu9-fhy-qg5"><code data-tag="code" class="code">%W</code></p></td><td data-tag="td" id="td-ain-b8j-6fi" class="td"><p id="p-lof-ca8-eee">星期的英文名稱。</p></td><td data-tag="td" id="td-n68-tl1-7va" class="td"><p id="p-oli-jp9-if7"><code data-tag="code" class="code">Sunday..Saturday</code></p></td></tr><tr data-tag="tr" id="tr-h7i-1ck-o85" class="tr"><td data-tag="td" id="td-pg8-bx4-wcl" class="td"><p id="p-6lm-tpm-uiz"><code data-tag="code" class="code">%w</code></p></td><td data-tag="td" id="td-oim-u1d-7td" class="td"><p id="p-ylc-iv5-cuq">一周中的第幾天。</p></td><td data-tag="td" id="td-jlr-7vi-cuy" class="td"><p id="p-b1w-lhv-7pv"><code data-tag="code" class="code">0=Sunday..6=Saturday</code></p></td></tr><tr data-tag="tr" id="tr-3gg-2uc-sm3" class="tr"><td data-tag="td" id="td-ah4-xwk-07y" class="td"><p id="p-y1l-yg8-a3p"><code data-tag="code" class="code">%X</code></p></td><td data-tag="td" id="td-stg-xq5-68b" class="td"><p id="p-0ok-n5p-hjj">一周所屬的年份,周日為每周第一天(和<code data-tag="code" class="code">%V</code>同時使用)。</p></td><td data-tag="td" id="td-nlf-npn-dum" class="td"><p id="p-kw5-eua-qy5"></p></td></tr><tr data-tag="tr" id="tr-9rf-jij-pnl" class="tr"><td data-tag="td" id="td-906-yde-c69" class="td"><p id="p-ykq-jo2-pqb"><code data-tag="code" class="code">%x</code></p></td><td data-tag="td" id="td-5yl-r1n-q6q" class="td"><p id="p-kwn-iaq-w1z">一周所屬的年份,周一為每周第一天(和<code data-tag="code" class="code">%v</code>同時使用)。</p></td><td data-tag="td" id="td-s1i-dvs-0od" class="td"><p id="p-cg5-84u-hnq"></p></td></tr><tr data-tag="tr" id="tr-23i-tta-5nv" class="tr"><td data-tag="td" id="td-g12-2dr-cin" class="td"><p id="p-5hc-yqj-euz"><code data-tag="code" class="code">%Y</code></p></td><td data-tag="td" id="td-zrj-sf3-3je" class="td"><p id="p-qb0-p9s-tks">四位年份。</p></td><td data-tag="td" id="td-def-cc5-okw" class="td"><p id="p-kom-hcm-rhv"></p></td></tr><tr data-tag="tr" id="tr-8ll-5mq-fs4" class="tr"><td data-tag="td" id="td-kz2-bki-98y" class="td"><p id="p-x29-5ud-4ia"><code data-tag="code" class="code">%y</code></p></td><td data-tag="td" id="td-g6k-8ve-g45" class="td"><p id="p-b44-6q4-c84">兩位年份。</p></td><td data-tag="td" id="td-xxg-lo6-dus" class="td"><p id="p-nqu-waa-4wl"></p></td></tr><tr data-tag="tr" id="tr-t4h-kx0-fpu" class="tr"><td data-tag="td" id="td-bcz-mcv-hmk" class="td"><p id="p-zfk-4uj-wk5"><code data-tag="code" class="code">%%</code></p></td><td data-tag="td" id="td-hqg-gsv-83z" class="td"><p id="p-pb6-6hg-ys3">文字字符,輸出一個<code data-tag="code" class="code">%</code>。</p></td><td data-tag="td" id="td-2qj-8qa-rfn" class="td"><p data-tag="p" id="p-nhp-tbj-9zt" class="p"></p></td></tr></tbody></table>
**例子**
~~~
obclient> SELECT
-> DATE_FORMAT('2014-01-01', '%Y-%M-%d'),
-> DATE_FORMAT('2014-01-01', '%X-%V'),
-> DATE_FORMAT('2014-01-01', '%U')
-> \G
*************************** 1. row ***************************
DATE_FORMAT('2014-01-01', '%Y-%M-%d'): 2014-January-01
DATE_FORMAT('2014-01-01', '%X-%V'): 2013-52
DATE_FORMAT('2014-01-01', '%U'): 00
1 row in set (0.01 sec)
~~~
#### DATE\_SUB
**聲明**
~~~
DATE_SUB(date, INTERVAL expr unit)
~~~
**說明**
日期時間的算術計算。
請參考`DATE_ADD()`。
#### DATEDIFF
**聲明**
~~~
DATEDIFF(date1, date2)
~~~
**說明**
返回`date1`和`date2`之間的天數。
計算中只用到參數的日期部分,忽略時間部分。
**例子**
~~~
obclient> SELECT DATEDIFF('2015-06-19','1994-12-17');
+-------------------------------------+
| DATEDIFF('2015-06-19','1994-12-17') |
+-------------------------------------+
| 7489 |
+-------------------------------------+
1 row in set (0.01 sec)
~~~
#### EXTRACT
**聲明**
~~~
EXTRACT(unit FROM date)
~~~
**說明**
以整數類型返回`date`的指定部分值。如果指定多個部分,則將所有值按順序拼接。
`unit`請參考`DATE_ADD()`。當`unit`為`WEEK`時,請參考`DATE_FORMAT()`的`%U`說明。
**例子**
~~~
SELECT EXTRACT(WEEK FROM '2013-01-01'),
EXTRACT(WEEK FROM '2013-01-06'),
EXTRACT(YEAR_MONTH FROM '2012-03-09'),
EXTRACT(DAY FROM NOW())\G;
* 1. row *
EXTRACT(WEEK FROM '2013-01-01'): 0
EXTRACT(WEEK FROM '2013-01-06'): 1
EXTRACT(YEAR_MONTH FROM '2012-03-09'): 201203
EXTRACT(DAY FROM NOW()): 18
1 row in set (0.00 sec)
~~~
#### FROM\_DAYS
**聲明**
~~~
FROM_DAYS(N)
~~~
**說明**
返回指定天數`N`對應的`DATE`值。天數指距離`0000-01-01`的天數。
**例子**
~~~
obclient> SELECT FROM_DAYS(736271), FROM_DAYS(700000);
+-------------------+-------------------+
| FROM_DAYS(736271) | FROM_DAYS(700000) |
+-------------------+-------------------+
| 2015-11-04 | 1916-07-15 |
+-------------------+-------------------+
1 row in set (0.00 sec)
~~~
#### FROM\_UNIXTIME
**聲明**
~~~
FROM_UNIXTIME(unix_timestamp)
FROM_UNIXTIME(unix_timestamp, format)
~~~
**說明**
* 不指定`format`參數時,返回`DATETIME`類型值,不考慮時區。
* 指定`format`參數時,返回指定格式的日期時間字符串。
`unix_timestamp`指 UNIX 時間戳,即距離`1970-01-01 00:00:00.000000`的微秒數。
`format`支持的格式已在`DATE_FORMAT()`**說****明**中列出。
**例子**
~~~
obclient> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x');
+---------------------------------------------------------+
| FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x') |
+---------------------------------------------------------+
| 2018 5th May 08:41:26 2018 |
+---------------------------------------------------------+
1 row in set (0.01 sec)
~~~
#### MONTH
**聲明**
~~~
MONTH(date)
~~~
**說明**
返回`date`的月份信息。
**例子**
~~~
obclient> SELECT MONTH('2008-02-03');
+---------------------+
| MONTH('2008-02-03') |
+---------------------+
| 2 |
+---------------------+
1 row in set (0.01 sec)
~~~
#### NOW
**聲明**
~~~
NOW([scale])
~~~
**說明**
同`CURRENT_TIMESTAMP()`。
#### PERIOD\_DIFF
**聲明**
~~~
PERIOD_DIFF(p1, p2)
~~~
**說明**
以月份位單位返回兩個日期之間的間隔。日期只能包含年月信息,格式只能為`YYYYMM`或`YYMM`。
**例子**
~~~
obclient> SELECT PERIOD_DIFF(200802, 200703);
+----------------------------+
| PERIOD_DIFF(200802,200703) |
+----------------------------+
| 11 |
+----------------------------+
1 row in set (0.01 sec)
~~~
#### STR\_TO\_DATE
**聲明**
~~~
STR_TO_DATE(str, format)
~~~
**說明**
使用`format`將`str`轉換為`DATETIME`值、`DATE`值、或`TIME`值。返回值類型取決于`format`包含日期時間的哪些部分。
`format`支持的格式已在`DATE_FORMAT()`**說****明**中列出。
**例子**
~~~
obclient> SELECT STR_TO_DATE('2014-Jan-1st 5:5:5 pm', '%Y-%b-%D %r');
+-----------------------------------------------------+
| STR_TO_DATE('2014-Jan-1st 5:5:5 pm', '%Y-%b-%D %r') |
+-----------------------------------------------------+
| 2014-01-01 05:05:05 |
+-----------------------------------------------------+
1 row in set (0.01 sec)
~~~
#### TIME
**聲明**
~~~
TIME(datetime
~~~
**說明**
以`TIME`類型返回`datetime`的時間信息。
**例子**
~~~
obclient> SELECT TIME('2003-12-31 01:02:03');
+-----------------------------+
| TIME('2003-12-31 01:02:03') |
+-----------------------------+
| 01:02:03.000000 |
+-----------------------------+
1 row in set (0.01 sec)
~~~
#### TIME\_TO\_USEC
**聲明**
~~~
TIME_TO_USEC(date)
~~~
**說明**
將`date`值轉換為距離`1970-01-01 00:00:00.000000`的微秒數,考慮時區信息。
`date`可以表示日期,也可以表示日期時間。
**例子**
~~~
obclient> SELECT TIME_TO_USEC('2014-03-25'), TIME_TO_USEC(NOW());
+----------------------------+---------------------+
| TIME_TO_USEC('2014-03-25') | TIME_TO_USEC(NOW()) |
+----------------------------+---------------------+
| 1395676800000000 | 1525528100000000 |
+----------------------------+---------------------+
1 row in set (0.01 sec)
~~~
#### TIMEDIFF
**聲明**
~~~
TIMEDIFF(date1, date2)
~~~
**說明**
以`TIME`類型返回兩個日期時間的時間間隔。
**例子**
~~~
obclient> SELECT
-> TIMEDIFF('2015-06-06 12:12:12', '2014-06-05 11:11:11'),
-> TIMEDIFF('2015-06-06 12:12:12', '2015-06-05 11:11:11')
-> \G
*************************** 1. row ***************************
TIMEDIFF('2015-06-06 12:12:12', '2014-06-05 11:11:11'): 838:59:59
TIMEDIFF('2015-06-06 12:12:12', '2015-06-05 11:11:11'): 25:01:01
1 row in set (0.00 sec)
~~~
#### TIMESTAMPDIFF
**聲明**
~~~
TIMESTAMPDIFF(unit, date1, date2)
~~~
**說明**
以`unit`為單位返回兩個日期時間的間隔。`unit`只能為`DATE_ADD()`中的獨立單位。
**例子**
~~~
obclient> SELECT
-> TIMESTAMPDIFF(SECOND, NOW(), '2011-01-01 11:11:11'),
-> TIMESTAMPDIFF(DAY, '2011-01-01 11:11:11', NOW())
-> \G
*************************** 1. row ***************************
TIMESTAMPDIFF(SECOND, NOW(), '2011-01-01 11:11:11'): -231677498
TIMESTAMPDIFF(DAY, '2011-01-01 11:11:11', NOW()): 2681
1 row in set (0.00 sec)
~~~
#### TIMESTAMPADD
**聲明**
~~~
TIMESTAMPADD(unit, interval_expr, date)
~~~
**說明**
日期時間的算術計算。
同`DATE_ADD()`,但`unit`只能為獨立單位。
**例子**
~~~
obclient> SELECT
-> TIMESTAMPADD(DAY, -5, '2010-01-01 00:00:00'),
-> DATE_ADD('2010-01-01 00:00:00', INTERVAL -5 DAY)
-> \G
*************************** 1. row ***************************
TIMESTAMPADD(DAY, -5, '2010-01-01 00:00:00'): 2009-12-27 00:00:00
DATE_ADD('2010-01-01 00:00:00', INTERVAL -5 DAY): 2009-12-27 00:00:00
1 row in set (0.01 sec)
~~~
#### TO\_DAYS
**聲明**
~~~
TO_DAYS(date)
~~~
**說明**
返回指定`date`值對應的天數。天數指距離`0000-01-01`的天數。
**例子**
~~~
obclient> SELECT TO_DAYS('2015-11-04'), TO_DAYS('20151104');
+-----------------------+---------------------+
| TO_DAYS('2015-11-04') | TO_DAYS('20151104') |
+-----------------------+---------------------+
| 736271 | 736271 |
+-----------------------+---------------------+
1 row in set (0.01 sec)
~~~
#### USEC\_TO\_TIME
**聲明**
~~~
USEC_TO_TIME(usec)
~~~
**說明**
將`usec`值轉換為`TIMESTAMP`類型值。
`usec`表示距離`1970-01-01 00:00:00.000000`的微秒數,考慮時區信息。
**例子**
~~~
obclient> SELECT USEC_TO_TIME(1);
+----------------------------+
| USEC_TO_TIME(1) |
+----------------------------+
| 1970-01-01 08:00:00.000001 |
+----------------------------+
1 row in set (0.00 sec)
~~~
#### UNIX\_TIMESTAMP
**聲明**
~~~
UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
~~~
**說明**
* 不指定`date`參數時,返回當前時間距離 '1970-01-01 00:00:00' 的秒數,考慮時區。
* 指定`date`參數時,返回指定時間距離 '1970-01-01 00:00:00' 的秒數,考慮時區。
**例子**
~~~
obclient> SELECT UNIX_TIMESTAMP(), TIME_TO_USEC(NOW());
+------------------+---------------------+
| UNIX_TIMESTAMP() | TIME_TO_USEC(NOW()) |
+------------------+---------------------+
| 1525570561 | 1525570561000000 |
+------------------+---------------------+
1 row in set (0.01 sec)
obclient> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
+---------------------------------------+
| UNIX_TIMESTAMP('1997-10-04 22:23:00') |
+---------------------------------------+
| 875974980 |
+---------------------------------------+
1 row in set (0.01 sec)
~~~
#### UTC\_TIMESTAMP
**聲明**
~~~
UTC_TIMESTAMP()
~~~
**說明**
返回當前 UTC 時間。
**例子**
~~~
obclient> SELECT UTC_TIMESTAMP();
+---------------------+
| UTC_TIMESTAMP() |
+---------------------+
| 2018-05-06 01:38:32 |
+---------------------+
1 row in set (0.01 sec)
~~~
#### YEAR
**聲明**
~~~
YEAR(date)
~~~
**說明**
返回`date`值的年份信息。
**例子**
~~~
obclient> SELECT YEAR('1987-01-01');
+--------------------+
| YEAR('1987-01-01') |
+--------------------+
| 1987 |
+--------------------+
1 row in set (0.00 sec)
~~~
## 字符串函數
#### CONCAT
**聲明**
~~~
CONCAT(str1, .., strN)
~~~
**說明**
把多個字符串連接成一個字符串。參數中包含`NULL`時,返回`NULL`。
**例子**
~~~
obclient> SELECT
-> CONCAT('test','obclient', '1.0'),
-> CONCAT('test','obclient', NULL)
-> \G
*************************** 1. row ***************************
CONCAT('test','obclient', '1.0'): testobclient1.0
CONCAT('test','obclient', NULL): NULL
1 row in set (0.01 sec)
~~~
#### CONCAT\_WS
**聲明**
~~~
CONCAT_WS(separator, str1, .., strN)
~~~
**說明**
把多個字符串連接成一個字符串,相鄰字符串間使用`separator`分隔。參數中包含`NULL`時,將忽略`NULL`。
**例子**
~~~
obclient> SELECT
-> CONCAT_WS('_', 'First', 'Second'),
-> CONCAT_WS('_', 'First', NULL, 'Second')
-> \G
*************************** 1. row ***************************
CONCAT_WS('_', 'First', 'Second'): First_Second
CONCAT_WS('_', 'First', NULL, 'Second'): First_Second
1 row in set (0.00 sec)
~~~
FORMAT
**聲明**
~~~
FORMAT(X,D)
~~~
**說明**
把數字 X 格式化為“#,###,###.##”格式,四舍五入到 D 位小數,并以字符串形式返回結果(如果整數部分超過三位,會用“,”作為千分位分隔符)。如果 D 為 0,則結果沒有小數點或小數部分。
**例子**
~~~
obclient>SELECT FORMAT(12332.123456, 4) from DUAL;
+-------------------------+
| format(12332.123456, 4) |
+-------------------------+
| 12,332.1235 |
+-------------------------+
1 row in set (0.00 sec)
obclient>SELECT FORMAT(12332.1, 4) from DUAL;
+--------------------+
| format(12332.1, 4) |
+--------------------+
| 12,332.1000 |
+--------------------+
1 row in set (0.01 sec)
obclient>SELECT FORMAT(12332.2, 0) from DUAL;
+--------------------+
| format(12332.2, 0) |
+--------------------+
| 12,332 |
+--------------------+
1 row in set (0.00 sec)
~~~
#### SUBSTR
**聲明**
~~~
SUBSTR(str, pos)
SUBSTR(str, pos, len)
SUBSTR(str FROM pos)
SUBSTR(str FROM pos FOR len)
~~~
**說明**
返回`str`的子字符串,起始位置為`pos`,長度為`len`。參數中包含`NULL`時,返回`NULL`。
* 不指定`len`時,返回的子字符串從`pos`位置開始到`str`結尾。
* `pos`值為負數時,從`str`尾部向頭部倒序確定起始位置。
* `len`小于等于 0,或`pos`指定的起始位置非法時,返回空字符串。
**例子**
~~~
obclient> SELECT
-> SUBSTR('abcdefg', 3),
-> SUBSTR('abcdefg', 3, 2),
-> SUBSTR('abcdefg', -3),
-> SUBSTR('abcdefg', 3, -2),
-> SUBSTR('abcdefg' from -4 for 2)
-> \G
*************************** 1. row ***************************
SUBSTR('abcdefg', 3): cdefg
SUBSTR('abcdefg', 3, 2): cd
SUBSTR('abcdefg', -3): efg
SUBSTR('abcdefg', 3, -2):
SUBSTR('abcdefg' from -4 for 2): de
1 row in set (0.01 sec)
~~~
#### SUBSTRING
**聲明**
~~~
SUBSTRING(str, pos)
SUBSTRING(str, pos, len)
SUBSTRING(str FROM pos)
SUBSTRING(str FROM pos FOR len)
~~~
**說明**
同`SUBSTR`。
#### TRIM
**聲明**
~~~
TRIM([[{BOTH | LEADING | TRAILING}] [remstr] FROM] str)
~~~
**說明**
刪除字符串所有前綴和/或后綴,默認為`BOTH`。參數中包含`NULL`時,返回`NULL`。
**例子**
~~~
obclient> SELECT
-> TRIM(' bar '),
-> TRIM(LEADING 'x' FROM 'xxxbarxxx'),
-> TRIM(BOTH 'x' FROM 'xxxbarxxx'),
-> TRIM(TRAILING 'x' FROM 'xxxbarxxx')
-> \G
*************************** 1. row ***************************
TRIM(' bar '): bar
TRIM(LEADING 'x' FROM 'xxxbarxxx'): barxxx
TRIM(BOTH 'x' FROM 'xxxbarxxx'): bar
TRIM(TRAILING 'x' FROM 'xxxbarxxx'): xxxbar
1 row in set (0.01 sec)
~~~
#### LTRIM
**聲明**
~~~
LTRIM(str)
~~~
**說明**
刪除字符串左側的空格。
#### RTRIM
**聲明**
~~~
RTRIM(str)
~~~
**說明**
刪除字符串右側的空格。
#### ASCII
**聲明**
~~~
ASCII(str)
~~~
**說明**
返回字符串最左側字符的 ASCII 碼。
#### ORD
**聲明**
~~~
ORD(str)
~~~
**說明**
返回字符串最左側字符的字符碼。單字節編碼如果最左側字符是多字節編碼字符,返回值計算規則如下:
~~~
(1st byte code)
+ (2nd byte code * 256)
+ (3rd byte code * 256^2) ...
~~~
**例子**
~~~
obclient> SELECT ORD('中國');
+---------------+
| ORD('中國') |
+---------------+
| 14989485 |
+---------------+
1 row in set (0.01 sec)
~~~
#### LENGTH
**聲明**
~~~
LENGTH(str)
~~~
**說明**
返回`str`的字節長度。
**例子**
~~~
obclient> SELECT LENGTH('中國'), LENGTH('hello');
+------------------+-----------------+
| LENGTH('中國') | LENGTH('hello') |
+------------------+-----------------+
| 6 | 5 |
+------------------+-----------------+
1 row in set (0.01 sec)
~~~
#### CHAR\_LENGTH
**聲明**
~~~
CHAR_LENGTH(str)
~~~
**說明**
返回字符串包含的字符數。
**例子**
~~~
obclient> SELECT CHAR_LENGTH('中國'), CHAR_LENGTH('hello');
+-----------------------+----------------------+
| CHAR_LENGTH('中國') | CHAR_LENGTH('hello') |
+-----------------------+----------------------+
| 2 | 5 |
+-----------------------+----------------------+
1 row in set (0.00 sec)
~~~
#### UPPER
**聲明**
~~~
UPPER(str)
~~~
**說明**
將字符串中的小寫字母轉化為大寫字母。
**例子**
~~~
obclient> SELECT UPPER('obclient您好!');
+-----------------------------+
| UPPER('obclient您好!') |
+-----------------------------+
| OCEANBASE您好! |
+-----------------------------+
1 row in set (0.01 sec)
~~~
#### LOWER
**聲明**
~~~
LOWER(str)
~~~
**說明**
將字符串中的大寫字母轉化為小寫字母。
**例子**
~~~
obclient> SELECT LOWER('obclient您好!');
+-----------------------------+
| LOWER('obclient您好!') |
+-----------------------------+
| obclient您好! |
+-----------------------------+
1 row in set (0.01 sec)
~~~
#### HEX
**聲明**
~~~
HEX(str)
~~~
**說明**
將數字或字符串轉化為十六進制字符串。
**例子**
~~~
obclient> SELECT HEX(255), HEX('abc');
+----------+------------+
| HEX(255) | HEX('abc') |
+----------+------------+
| FF | 616263 |
+----------+------------+
1 row in set (0.00 sec)
~~~
#### UNHEX
**聲明**
~~~
UNHEX(str)
~~~
**說明**
將十六進制字符串轉化為正常字符串。
**例子**
~~~
obclient> SELECT UNHEX('4f6365616e42617365');
+-----------------------------+
| UNHEX('4f6365616e42617365') |
+-----------------------------+
| obclient |
+-----------------------------+
1 row in set (0.00 sec)
~~~
#### MD5
**聲明**
~~~
MD5(str)
~~~
**說明**
返回字符串的 MD5 值。
**例子**
~~~
obclient> SELECT MD5(1);
+----------------------------------+
| MD5(1) |
+----------------------------------+
| c4ca4238a0b923820dcc509a6f75849b |
+----------------------------------+
1 row in set (0.00 sec)
~~~
#### INT2IP
**聲明**
~~~
INT2IP(int_value)
~~~
**說明**
將整數內碼轉換成 IP 地址。
**例子**
~~~
obclient> SELECT
-> INT2IP(16777216),
-> HEX(16777216),
-> INT2IP(1)
-> \G
*************************** 1. row ***************************
INT2IP(16777216): 1.0.0.0
HEX(16777216): 1000000
INT2IP(1): 0.0.0.1
1 row in set (0.01 sec)
~~~
#### IP2INT
**聲明**
~~~
IP2INT('ip_addr')
~~~
**說明**
將 IP 地址轉換成整數內碼。
**例子**
~~~
obclient> SELECT
-> IP2INT('0.0.0.1'),
-> HEX(IP2INT('0.0.0.1')),
-> HEX(IP2INT('1.0.0.0'))
-> \G
*************************** 1. row ***************************
IP2INT('0.0.0.1'): 1
HEX(IP2INT('0.0.0.1')): 1
HEX(IP2INT('1.0.0.0')): 1000000
1 row in set (0.01 sec)
~~~
#### LIKE
**聲明**
~~~
str1 [NOT] LIKE str2 [ESCAPE str3]
~~~
**說明**
字符串通配符匹配。參數中包含`NULL`時,返回`NULL`。
通配符包括:
* `%`:匹配任意長度字符串。
* `_`:匹配單個字符。
ESCAPE 用于定義轉義符,如果 str2 中包含 str3,在匹配時 str3 后的字符將做為普通字符處理。
**例子**
~~~
obclient> SELECT 'ab%' LIKE 'abc%' ESCAPE 'c';
+------------------------------+
| 'ab%' LIKE 'abc%' ESCAPE 'c' |
+------------------------------+
| 1 |
+------------------------------+
1 row in set (0.01 sec)
~~~
#### REGEXP
**聲明**
~~~
str [NOT] REGEXP | RLIKE pat
~~~
**說明**
正則匹配。參數中包含`NULL`時,返回`NULL`。
**例子**
~~~
obclient> SELECT
-> 1234 REGEXP 1,
-> 'hello' RLIKE 'h%'
-> \G
*************************** 1. row ***************************
1234 REGEXP 1: 1
'hello' RLIKE 'h%': 0
1 row in set (0.01 sec)
~~~
#### REPEAT
**聲明**
~~~
REPEAT(str, count)
~~~
**說明**
返回`str`重復`count`次組成的字符串。`count`小于等于 0 時,返回空字符串。參數中包含`NULL`時,返回`NULL`。
**例子**
~~~
obclient> SELECT
-> REPEAT('1', -1),
-> REPEAT(null, null),
-> REPEAT('Abc', 4)
-> \G
*************************** 1. row ***************************
REPEAT('1', -1):
REPEAT(null, null): NULL
REPEAT('Abc', 4): AbcAbcAbcAbc
1 row in set (0.01 sec)
~~~
#### SPACE
**聲明**
~~~
SPACE(N)
~~~
**說明**
返回包含`N`個空格的字符串。
#### SUBSTRING\_INDEX
**聲明**
~~~
SUBSTRING_INDEX(str, delim, count)
~~~
**說明**
在定界符 delim 以及 count 出現前,從字符串 str 返回字符串。若 count 為正值,則返回最終定界符(從左邊開始)左邊的一切內容。若 count 為負值,則返回定界符(從右邊開始)右邊的一切內容。任意一個參數為 NULL,返回 NULL;若 str 或 delim 為空字符串,則返回空串;若 count = 0, 返回空串。
*str, delim, count 參數支持數值與字符串的隱式轉換。*
**例子**
~~~
obclient>select substring_index('abcdabc', 'abc', 0), substring_index('abcdabc', 'abc', 1), substring_index('abcdabc', 'abc', 2), substring_index('abcdabc', 'abc', 3), substring_index('abcdabc', 'abc', -1), substring_index('abcdabc', 'abc', -2), substring_index('abcdabc', 'abc', -3)\G;
* 1. row *
substring_index('abcdabc', 'abc', 0):
substring_index('abcdabc', 'abc', 1):
substring_index('abcdabc', 'abc', 2): abcd
substring_index('abcdabc', 'abc', 3): abcdabc
substring_index('abcdabc', 'abc', -1):
substring_index('abcdabc', 'abc', -2): dabc
substring_index('abcdabc', 'abc', -3): abcdabc
1 row in set (0.00 sec)
~~~
#### LOCATE
**聲明**
`LOCATE(substr,str) , LOCATE(substr,str,pos)`
**說明**
第一個語法返回字符串 str 中子字符串 substr 的第一個出現位置。第二個語法返回字符串 str 中子字符串 substr 的第一個出現位置, 起始位置在 pos。如若 substr 不在 str 中,則返回值為 0。
**例子**
~~~
obclient>SELECT LOCATE('bar', 'foobarbar');
-> 4
obclient>SELECT LOCATE('xbar', 'foobar');
-> 0
obclient>SELECT LOCATE('bar', 'foobarbar',5);
-> 7
~~~
#### POSITION
**聲明**
`POSITION(substr IN str)`
**說明**
與 LOCATE 同義。
#### INSTR
**聲明**
`INSTR(str,substr)`
**說明**
返回字符串 str 中子字符串的第一個出現位置。這和 LOCATE() 的雙參數形式相同,除非參數的順序被顛倒。
**例子**
~~~
obclient>SELECT INSTR('foobarbar', 'bar');
-> 4
obclient>SELECT INSTR('xbar', 'foobar');
-> 0
~~~
#### REPLACE
**聲明**
`REPLACE(str, from_str, to_str)`
**說明**
返回字符串 str 以及所有被字符 to\_str 替代的字符串 from\_str。
**例子**
~~~
obclient>SELECT REPLACE('abc.efg.gpg.nowdew.abc.dabc.e', 'abc.', 'www');
+---------------------------------------------------------+
| REPLACE('abc.efg.gpg.nowdew.abc.dabc.e', 'abc.', 'www') |
+---------------------------------------------------------+
| wwwefg.gpg.nowdew.wwwdwwwe |
+---------------------------------------------------------+
1 row in set (0.00 sec)
~~~
#### FIELD
**聲明**
`FIELD(str,str1,str2,str3,…)`
**說明**
返回參數 str 在 str1, str2, str3,… 列表中的索引位置(從 1 開始的位置)。在找不到 str 的情況下,返回值為 0。
如果所有的對于 FIELD() 的參數均為字符串,則所有參數均按照字符串進行比較。如果所有的參數均為數字,則按照數字進行比較。否則,參數均按照 double 類型進行比較。
如果 str 為 NULL,則返回值為 0,原因是 NULL 不能同任何值進行同等比較。FILED() 是 ELT() 的補數。
**例子**
~~~
obclient>select field('abc','abc1','abc2','abc','abc4','abc'), field(NULL, 'null1', NULL);
+-----------------------------------------------+----------------------------+
| field('abc','abc1','abc2','abc','abc4','abc') | field(NULL, 'null1', NULL) |
+-----------------------------------------------+----------------------------+
| 3 | 0 |
+-----------------------------------------------+----------------------------+
1 row in set (0.00 sec)
~~~
#### ELT
**聲明**
`ELT(N, str1, str2, str3,…)`
**說明**
若 N=1,則返回值為 str1, 若 N=2,則返回值為 str2,以此類推。若 N 小于 1 或大于參數的數目,則返回值為NULL。ELT() 是 FIELD() 的補數。
**例子**
~~~
obclient>select elt(3, 'abc1', 'abc2', 'abc', 'abc4', 'abc'), elt(0, 'null1', NULL);
+----------------------------------------------+-----------------------+
| elt(3, 'abc1', 'abc2', 'abc', 'abc4', 'abc') | elt(0, 'null1', NULL) |
+----------------------------------------------+-----------------------+
| abc | NULL |
+----------------------------------------------+-----------------------+
1 row in set (0.00 sec)
~~~
#### INSERT
**聲明**
`INSERT (str1,pos,len,str2)`
**說明**
返回字符串 str1, 字符串中起始于 pos 位置,長度為 len 的子字符串將被 str2 取代。如果 pos 超過字符串長度,則返回值為原始字符串。 假如 len 的長度大于其它字符串的長度,則從位置 pos 開始替換。若任何一個參數為 null,則返回值為 NULL。這個函數支持多字節字元。
* *str1 和 str2 必須是字符串,pos 和 len 必須是整數。任意參數為 NULL,結果總為 NULL;*
* *str1 和 str2 中的文字符被當做字節流看待;*
* *pos 值為負數或者大于 str1 長度時,返回 str1;*
* 當 len 小于 0,或大于 str 的長度時,返回結果為 str1 從開頭到 pos 位置的串,和 str2 的組合串。
**例子**
~~~
obclient>select insert('Quadratic',-2,100,'What'), insert('Quadratic',7,3,'What'),
-> insert('Quadratic',-1,3,'What'), insert('Quadratic',10,3,'What'), insert('Quadratic',5,-1,''),
-> insert('Quadratic',7,-1,'What')\G;
* 1. row *
insert('Quadratic',-2,100,'What'): Quadratic
insert('Quadratic',7,3,'What'): QuadraWhat
insert('Quadratic',-1,3,'What'): Quadratic
insert('Quadratic',10,3,'What'): Quadratic
insert('Quadratic',5,-1,''): Quad
insert('Quadratic',7,-1,'What'): QuadraWhat
1 row in set (0.01 sec)
~~~
#### LPAD
**聲明**
`LPAD(str, len, padstr)`
**說明**
用指定字符串 padstr,在左側填充字符串 str 到指定長度 len。如果 str 長度大于 len,則 str 被截斷。
**例子**
~~~
obclient > SELECT LPAD('hi',4,'??');
+-------------------+
| LPAD('hi',4,'??') |
+-------------------+
| ??hi |
+-------------------+
1 row in set (0.01 sec)
obclient > SELECT LPAD('hi',1,'??');
+-------------------+
| LPAD('hi',1,'??') |
+-------------------+
| h |
+-------------------+
1 row in set (0.00 sec)
~~~
#### RPAD
**聲明**
`RPAD(str, len, padstr)`
**說明**
用指定字符串 padstr,在右側填充字符串 str 到指定長度 len。如果 str 長度大于 len,則 str 被截斷。
**例子**
~~~
obclient> SELECT RPAD('hi',4,'??');
+-------------------+
| RPAD('hi',4,'??') |
+-------------------+
| hi?? |
+-------------------+
1 row in set (0.00 sec)
obclient> SELECT RPAD('hi',1,'??');
+-------------------+
| RPAD('hi',1,'??') |
+-------------------+
| h |
+-------------------+
1 row in set (0.00 sec)
~~~
#### UUID
**聲明**
`uuid()`
**說明**
生成一個全局唯一 ID。
**例子**
~~~
obclient> select uuid();
+--------------------------------------+
| uuid() |
+--------------------------------------+
| f756a1f6-4de6-11e8-90af-90b11c53e421 |
+--------------------------------------+
1 row in set (0.00 sec)
~~~
#### BIN
**聲明**
`bin(N)`
**說明**
返回數字 N 的二進制形式。
**例子**
~~~
obclient > SELECT BIN(12);
+---------+
| BIN(12) |
+---------+
| 1100 |
+---------+
1 row in set (0.00 sec)
~~~
#### QUOTE
**聲明**
`quote(str)`
**說明**
引用一個字符串以產生一個結果可以作為 SQL 語句中正確地轉義數據值。返回的字符串由單引號和單引號的各個實例封閉(''),反斜線(''),ASCII NUL 和 Control-Z 前面加一個反斜杠。如果參數為 NULL,則返回值是詞 'NULL' 不包圍單引號。
**例子**
~~~
obclient > SELECT QUOTE('Don\'t!');
+------------------+
| QUOTE('Don\'t!') |
+------------------+
| 'Don\'t!' |
+------------------+
1 row in set (0.00 sec)
obclient > SELECT QUOTE(NULL);
+-------------+
| QUOTE(NULL) |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)
~~~
#### REGEXP\_SUBSTR
**聲明**
`regexp_substr(str,pattern,[position[,occurrence[,match_param[,subexpr]]]])`
**說明**
在 str 中搜索匹配正則表達式 pattern 的子串,子串不存在返回 NULL。這個函數支持多字節字元。除 match\_param 外,其他任意參數為 NULL,結果為 NULL。
* str 待搜索的字符串,支持多字節字元。
* pattern 正則表達式,正則表達式規則兼容 mysql。
* position \[可選\] 搜索的開始位置。必須是大于 0 的正整數,小于等于 0 報錯,輸入為 NULL 返回 NULL,默認值為 1,表示從第一個字符開始搜索。
* occurrence \[可選\] 返回第幾次匹配的值。必須是大于等于 0 的正整數,小于等于 0 報錯,輸入為 NULL 返回 NULL,默認值是 1,表示返回第一次匹配的結果。
* match\_param \[可選\] 搜索參數,字符串類型,目前僅支持兩個字符 ‘i’,‘c’,i: 代表忽略大小寫 c: 代表不忽略,其他字符報錯。默認值根據 str 字符集的 collection 決定。 為 NULL 時使用默認值。
* subexpr \[可選\] 返回正則表達式中第幾個組的值。大于等于 0 的整數,小于 0 則報錯。默認值是 0,表示返回滿足整個 pattern 的子串。
**例子**
~~~
obclient> select regexp_substr('I have 2 apples and 100 bucks!', '[[:blank:]][[:alnum:]]*', 1, 1) from dual;
+----------------------------------------------------------------------------------+
| regexp_substr('I have 2 apples and 100 bucks!', '[[:blank:]][[:alnum:]]*', 1, 1) |
+----------------------------------------------------------------------------------+
| have |
+----------------------------------------------------------------------------------+
1 row in set (0.00 sec)
obclient> select regexp_substr('foothebar', 'foo(.*)(bar)', 1, 1, 'c', 1) from dual;
+----------------------------------------------------------+
| regexp_substr('foothebar', 'foo(.*)(bar)', 1, 1, 'c', 1) |
+----------------------------------------------------------+
| the |
+----------------------------------------------------------+
1 row in set (0.01 sec)
~~~
## 轉換函數
#### CAST
**聲明**
`CAST(expr AS type)`
**說明**
將某種數據類型的表達式顯式轉換為另一種數據類型。
將 expr 字段值轉換為 type 數據類型。
**參數說明**:
* expr:表示任何有效的 SQL 表達式。
* AS:用于分隔兩個參數,在 AS 之前的是要處理的數據,在 AS 之后是要轉換的數據類型。
* type:表示目標系統所提供的數據類型。可以是以下值其中的一個:
* DATE
* DATETIME
* DECIMAL
* SIGNED \[INTEGER\]
* TIME
* UNSIGNED \[INTEGER\]
在使用 CAST 函數進行數據類型轉換時,在下列情況下能夠被接受:
* 兩個表達式的數據類型完全相同;
* 兩個表達式可隱式轉換;
* 必須顯式轉換數據類型。
如果試圖進行不可能的轉換,OceanBase數據庫 將顯示一條錯誤信息。
如果轉換時沒有指定數據類型的長度,則使用 OceanBase 數據庫系統內部最大長度。如 varchar 是262,143字節,number 是 65 個 bit 位的浮動精度。
支持帶符號和無符號的 64 比特值的運算。若你正在使用數字操作符 (如 +) 而其中一個操作數為無符號整數,則結果為無符號。可使用 SIGNED 和 UNSIGNED cast 操作符來覆蓋它。將運算分別派給帶符號或無符號 64 比特整數。
假如任意一個操作數為一個浮點值,則結果為一個浮點值。
**例子**
~~~
obclient>SELECT CAST(123 AS BOOL);
+-------------------+
| CAST(123 AS bool) |
+-------------------+
| 1 |
+-------------------+
1 row in set (0.00 sec)
obclient>select cast(1-2 as unsigned), cast(cast(1-2 as unsigned) as signed);
+-----------------------+---------------------------------------+
| cast(1-2 as unsigned) | cast(cast(1-2 as unsigned) as signed) |
+-----------------------+---------------------------------------+
| 18446744073709551615 | -1 |
+-----------------------+---------------------------------------+
1 row in set (0.00 sec)
obclient>SELECT CAST(1 AS UNSIGNED) - 2.0;
+---------------------------+
| CAST(1 AS UNSIGNED) - 2.0 |
+---------------------------+
| -1.0 |
+---------------------------+
1 row in set (0.00 sec)
obclient>select cast(0 as date);
+-----------------+
| cast(0 as date) |
+-----------------+
| 0000-00-00 |
+-----------------+
1 row in set (0.00 sec)
~~~
## 數學函數
#### ROUND
**聲明**
`ROUND(X), ROUND(X,D)`
**說明**
返回一個數值,四舍五入到指定的長度或精度。
返回參數 X, 其值接近于最近似的整數。在有兩個參數的情況下,返回 X,其值保留到小數點后 D 位,而第 D 位的保留方式為四舍五入。若要接保留 X 值小數點左邊的 D 位,可將 D 設為負值。
返回值的類型同第一個自變量相同(假設它是一個整數、雙精度數或小數)。這意味著對于一個整數參數,結果也是一個整數(無小數部分)。
* 對于準確值數字,ROUND() 使用“四舍五入” 或“舍入成最接近的數” 的規則:對于一個分數部分為 .5 或大于 .5 的值,正數則上舍入到鄰近的整數值,負數則下舍入臨近的整數值。(換言之, 其舍入的方向是數軸上遠離零的方向)。對于一個分數部分小于 .5 的值,正數則下舍入下一個整數值,負數則下舍入鄰近的整數值,而正數則上舍入鄰近的整數值。
* 對于近似值數字, ROUND() 遵循銀行家規則“四舍--大于五入--五取最接近的偶數”的規則: 一個帶有任何小數部分的值會被舍入成最接近的偶數整數。
**例子**
~~~
obclient>select round(2.15,2);
+---------------+
| round(2.15,2) |
+---------------+
| 2.15 |
+---------------+
1 row in set (0.00 sec)
obclient>select round(2555e-2,1);
+------------------+
| round(2555e-2,1) |
+------------------+
| 25.6 |
+------------------+
1 row in set (0.01 sec)
obclient>select round(25e-1), round(25.3e-1),round(35e-1);
+--------------+----------------+--------------+
| round(25e-1) | round(25.3e-1) | round(35e-1) |
+--------------+----------------+--------------+
| 3 | 3 | 4 |
+--------------+----------------+--------------+
1 row in set (0.00 sec)
~~~
#### CEIL
**聲明**
`CEIL(expr)`
**說明**
返回大于或者等于指定表達式的最小整數。
還支持比較運算,結果為 BOOL 值,被轉化為數字類型處理,產生的結果為 1(TRUE)、0 (FALSE);
如果輸入 NULL,返回值為 NULL。
如果輸入純數字的字符串,支持自動轉換成數字類型。
返回值會被轉化為一個 BIGINT。
**例子**
~~~
obclient>select ceil(1.2), ceil(-1.2), ceil(1+1.5), ceil(1=1),ceil(1<1),ceil(null);
+-----------+------------+-------------+-----------+-----------+------------+
| ceil(1.2) | ceil(-1.2) | ceil(1+1.5) | ceil(1=1) | ceil(1<1) | ceil(null) |
+-----------+------------+-------------+-----------+-----------+------------+
| 2 | -1 | 3 | 1 | 0 | NULL |
+-----------+------------+-------------+-----------+-----------+------------+
1 row in set (0.00 sec)
obclient>select ceil(name);
ERROR 1166 (42703): Unkown column name 'name'
obclient>select ceil('2');
+-----------+
| ceil('2') |
+-----------+
| 2 |
+-----------+
1 row in set (0.00 sec)
~~~
#### FLOOR
**聲明**
`FLOOR(expr)`
**說明**
和 CEIL(expr) 函數功能類似,返回小于或者等于指定表達式的最大整數。
還支持比較運算,結果為 BOOL 值,被轉化為數字類型處理,產生的結果為 1(TRUE)、0 (FALSE);
如果輸入 NULL,返回值為 NULL。
如果輸入純數字的字符串,支持自動轉換成數字類型。
返回值會被轉化為一個 BIGINT。
**例子**
~~~
obclient>select floor(1.2), floor(-1.2), floor(1+1.5), floor(1=1),floor(1<1),floor(null);
+------------+-------------+--------------+------------+------------+-------------+
| floor(1.2) | floor(-1.2) | floor(1+1.5) | floor(1=1) | floor(1<1) | floor(null) |
+------------+-------------+--------------+------------+------------+-------------+
| 1 | -2 | 2 | 1 | 0 | NULL |
+------------+-------------+--------------+------------+------------+-------------+
1 row in set (0.00 sec)
obclient>select floor(name);
ERROR 1166 (42703): Unkown column name 'name'
obclient>select floor('2');
+------------+
| floor('2') |
+------------+
| 2 |
+------------+
1 row in set (0.00 sec)
~~~
#### ABS
**聲明**
`ABS(expr)`
**說明**
絕對值函數,求表達式絕對值,函數返回值類型與數值表達式的數據類型相同。
還支持比較運算,結果為 BOOL 值,被轉化為數字類型處理,產生的結果為 1(TRUE)、0 (FALSE);
如果輸入 NULL,返回值為 NULL。
如果輸入純數字的字符串,支持自動轉換成數字類型。
返回值會被轉化為一個 BIGINT。
**例子**
~~~
obclient>select abs(5), abs(-5.777), abs(0), abs(1/2), abs(1-5);
+--------+-------------+--------+----------+----------+
| abs(5) | abs(-5.777) | abs(0) | abs(1/2) | abs(1-5) |
+--------+-------------+--------+----------+----------+
| 5 | 5.777 | 0 | 0.5000 | 4 |
+--------+-------------+--------+----------+----------+
1 row in set (0.00 sec)
~~~
#### NEG
**聲明**
`NEG(expr)`
**說明**
求補函數,對操作數執行求補運算:用零減去操作數,然后結果返回操作數。
支持比較運算,結果為 BOOL 值,被轉化為數字類型處理,產生的結果為 1(TRUE)、0 (FALSE),再對結果求補。
**例子**
~~~
obclient>select neg(1), neg(1+1), neg(2*3), neg(1=1), neg(5<1);
+--------+----------+----------+----------+----------+
| neg(1) | neg(1+1) | neg(2*3) | neg(1=1) | neg(5<1) |
+--------+----------+----------+----------+----------+
| -1 | -2 | -6 | -1 | 0 |
+--------+----------+----------+----------+----------+
1 row in set (0.01 sec)
~~~
#### SIGN
**聲明**
`SIGN(X)`
**說明**
SIGN(X) 返回參數作為 -1、 0 或 1 的符號,該符號取決于 X 的值為負、零或正。
支持比較運算,結果為 BOOL 值,被轉化為數字類型處理,產生的結果為 1(TRUE)、0 (FALSE);
如果輸入 NULL,返回值為 NULL。
支持浮點數、十六進制數。
**例子**
~~~
obclient>SELECT SIGN(-32), SIGN(0), SIGN(234);
+-----------+---------+-----------+
| SIGN(-32) | SIGN(0) | SIGN(234) |
+-----------+---------+-----------+
| -1 | 0 | 1 |
+-----------+---------+-----------+
1 row in set (0.01 sec)
obclient>select sign(null),sign(false),sign(0x01);
+------------+-------------+------------+
| sign(null) | sign(false) | sign(0x01) |
+------------+-------------+------------+
| NULL | 0 | 1 |
+------------+-------------+------------+
1 row in set (0.00 sec)
~~~
#### CONV
**聲明**
`CONV(N, from_base, to_base)`
**說明**
不同數基間轉換數字。返回值為一個字符串,由 from\_base 基轉化為 to\_base 基。輸入參數 N 可以是一個整數或字符串。最小基數為 2,而最大基數則為 36。如果 to\_base 是一個負數,則 N 被看作一個帶符號數。否則,N 被看作無符號數。from\_base 如果是負數,則被當作整數處理,符號被忽略。N 參數僅支持 int 類型和字符串類型輸入;from\_base 和 to\_base 參數僅支持十進制 int 類型輸入,且取值范圍為 \[-36, -2\] U \[2, 36\]。
非法輸入將導致報錯,其中非法輸入包括以下情況:
* *from\_base 或者 to\_base 不是一個合法的十進制int類型輸入;*
* *from\_base 或者 to\_base 超出 \[-36,-2\] U \[2,36\] 的取值范圍;*
* N 不是一個合法的數字表示,例如取值超出 0~9,a~z,A~Z 的字符范圍;
* N 超出了 from\_base 基的取值范圍,例如 from\_base 為 2,而 N 取值為 3;
* N 的取值超出了 int64 的最大表示范圍,即 \[-9223372036854775807, 9223372036854775807\]。
**例子**
~~~
obclient>select conv(9223372036854775807,10,2);
+-----------------------------------------------------------------+
| conv(9223372036854775807,10,2) |
+-----------------------------------------------------------------+
| 111111111111111111111111111111111111111111111111111111111111111 |
+-----------------------------------------------------------------+
1 row in set (0.00 sec)
obclient>select conv('-acc',21,-7);
+--------------------+
| conv('-acc',21,-7) |
+--------------------+
| -16425 |
+--------------------+
1 row in set (0.00 sec)
~~~
#### MOD
**聲明**
`MOD(N,M)`
**說明**
取余函數。MOD(N,M), N % M, N MOD M 三種形式是等效的。
MOD() 對于帶有小數部分的數值也起作用,它返回除法運算后的精確余數。
N,M 中任何一個參數為 NULL,返回值都為 NULL。M 為 0 時,也返回 NULL。
**例子**
~~~
obclient>select mod(29,19), 29 mod 19, 29 % 19;
+------------+-----------+---------+
| mod(29,19) | 29 mod 19 | 29 % 19 |
+------------+-----------+---------+
| 10 | 10 | 10 |
+------------+-----------+---------+
1 row in set (0.00 sec)
~~~
#### POW
**聲明**
`POW(X,Y)`
**說明**
返回 X 的 Y 次方。
X 與 Y 中任何一個參數為 NULL,返回值都為 NULL。
**例子**
~~~
obclient>select pow(4,2), pow(4,-2), pow(1,null);
+----------+-----------+-------------+
| pow(4,2) | pow(4,-2) | pow(1,null) |
+----------+-----------+-------------+
| 16 | 0.0625 | NULL |
+----------+-----------+-------------+
1 row in set (0.00 sec)
~~~
#### POWER
**聲明**
`POWER(X,Y)`
**說明**
POWER(X,Y) 和 POW(X,Y) 是同義函數。
#### RAND
**聲明**
`rand([N])`
**說明**
RAND(\[N\]) 函數接受 0 個或者 1 個參數(N 被稱為隨機數種子),返回一個范圍是 \[0,1.0) 的隨機浮點數。如果想獲得一個范圍在 \[i, j) 的隨機整數,可以使用表達式 FLOOR(I + RAND() \* (j - i))。
如果參數 N 不指定,那么在執行之前會使用隨機種子初始化,之后 RAND() 會根據這個初始化值來生成隨機數,所以 RAND() 每次會生成不同的隨機數序列。
如果參數 N 指定,那么 N 會作為隨機數種子來生成隨機數。根據 N 是否是常量,分成以下兩種情況:
* 如果 N 是常量,那么 N 在執行之前會被當成隨機種子初始化,之后 RAND(N) 會根據這個初始化值來生成隨機數。相同的 N 值會生成相同的隨機數序列。
* 如果 N 是變量(比如 N 是一個列值),那么 N 會在每次執行的時候作為隨機數種子來生成隨機數。相同的 N 值會生成相同的隨機數。
除了出現在 Select 語句中,RAND(\[N\]) 也可以出現在 where,order by 和 group by 語句中,它的執行方式還是按照上述規則執行。比如,如果想隨機的對一個表進行排序,可以使用如下 SQL:select from t1 order by rand()。如果想隨機取樣一個表的 100 行,可以使用如下 SQL:select from t1 order by rand() limit 100。
**例子**
~~~
obclient> select a, b, rand() from t3;
+------+------+---------------------+
| a | b | rand() |
+------+------+---------------------+
| 1 | 1 | 0.641815407799385 |
| 2 | 2 | 0.16825051248841966 |
| 3 | 3 | 0.9158063697775886 |
+------+------+---------------------+
3 rows in set (0.00 sec)
obclient> select a, b, rand() from t3;
+------+------+---------------------+
| a | b | rand() |
+------+------+---------------------+
| 1 | 1 | 0.07428034215632857 |
| 2 | 2 | 0.6239826321825224 |
| 3 | 3 | 0.897072165177271 |
+------+------+---------------------+
3 rows in set (0.00 sec)
obclient> select a, b, rand(3) from t3;
+------+------+---------------------+
| a | b | rand(3) |
+------+------+---------------------+
| 1 | 1 | 0.9057697559760601 |
| 2 | 2 | 0.37307905813034536 |
| 3 | 3 | 0.14808605345719125 |
+------+------+---------------------+
3 rows in set (0.00 sec)
obclient> select a, b, rand(3) from t3;
+------+------+---------------------+
| a | b | rand(3) |
+------+------+---------------------+
| 1 | 1 | 0.9057697559760601 |
| 2 | 2 | 0.37307905813034536 |
| 3 | 3 | 0.14808605345719125 |
+------+------+---------------------+
3 rows in set (0.00 sec)
obclient> select a, b, rand(a), rand(b) from t3;
+------+------+---------------------+---------------------+
| a | b | rand(a) | rand(b) |
+------+------+---------------------+---------------------+
| 1 | 1 | 0.40540353712197724 | 0.40540353712197724 |
| 2 | 2 | 0.6555866465490187 | 0.6555866465490187 |
| 3 | 3 | 0.9057697559760601 | 0.9057697559760601 |
+------+------+---------------------+---------------------+
3 rows in set (0.00 sec)
~~~
## 比較函數
#### GREATEST
**聲明**
`GREATEST(value1, ...)`
**說明**
返回參數的最大值,和函數 LEAST() 相對。
參數至少為兩個(一個參數將會報錯);如果參數中有 NULL, 返回值為 NULL。
當參數中同時存在數值和字符時,把字符隱式轉換為數值類型處理,不能轉換的報錯。
**例子**
~~~
obclient>select greatest(2,1), greatest('2',1,0), greatest('a','b','c'), greatest('a', NULL, 'c'), greatest('2014-05-15','2014-06-01')\G
* 1. row *
greatest(2,1): 2
greatest('2',1,0): 2
greatest('a','b','c'): c
greatest('a', NULL, 'c'): NULL
greatest('2014-05-15','2014-06-01'): 2014-06-01
1 row in set (0.01 sec)
obclient>select greatest(2);
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'greatest'
~~~
#### LEAST
**聲明**
`LEAST(value1, ...)`
**說明**
返回參數的最小值,和函數 GREATEST() 相對。
參數至少為兩個;如果參數中有 NULL,返回值為 NULL。
當參數中同時存在數值和字符時,把字符隱式轉換為數值類型處理,不能轉換的報錯。
**例子**
~~~
obclient>select least(2, null), least('2',4,9), least('a','b','c'), least('a',NULL,'c'), least('2014-05-15','2014-06-01')\G;
* 1. row *
least(2, null): NULL
least('2',4,9): 2
least('a','b','c'): a
least('a',NULL,'c'): NULL
least('2014-05-15','2014-06-01'): 2014-05-15
1 row in set (0.01 sec)
obclient>select least(2);
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'least'
~~~
#### ISNULL
**聲明**
`ISNULL(expr)`
**說明**
如果參數 expr 為 NULL,那么 ISNULL() 的返回值為 1,否則范圍值為 0。
ISNULL() 函數可以用來替代針對 NULL 的等值(=)比較。(使用 = 的 NULL 值比較通常都是錯誤的。)ISNULL() 函數同 IS NULL 比較操作符具有一些相同的特性。
**例子**
~~~
obclient>SELECT ISNULL(null), ISNULL('test'), ISNULL(123.456), ISNULL('10:00');
+--------------+----------------+-----------------+-----------------+
| ISNULL(null) | ISNULL('test') | ISNULL(123.456) | ISNULL('10:00') |
+--------------+----------------+-----------------+-----------------+
| 1 | 0 | 0 | 0 |
+--------------+----------------+-----------------+-----------------+
1 row in set (0.01 sec)
obclient>SELECT ISNULL(null+1);
+----------------+
| ISNULL(null+1) |
+----------------+
| 1 |
+----------------+
1 row in set (0.00 sec)
~~~
## 流程控制函數
#### CASE
**聲明**
~~~
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
OR
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
~~~
**說明**
在第一個方案的返回結果中,value = compare-value。而第二個方案的返回結果是第一種條件為真。如果沒有匹配的結果值,則返回結果為 ELSE 后的結果,如果沒有 ELSE 部分,則返回值為 NULL。
**例子**
~~~
obclient>select CASE 'b' when 'a' then 1 when 'b' then 2 END;
+----------------------------------------------+
| CASE 'b' when 'a' then 1 when 'b' then 2 END |
+----------------------------------------------+
| 2 |
+----------------------------------------------+
1 row in set (0.01 sec)
obclient>select CASE concat('a','b') when concat('ab','') then 'a' when 'b' then 'b' end;
+--------------------------------------------------------------------------+
| CASE concat('a','b') when concat('ab','') then 'a' when 'b' then 'b' end |
+--------------------------------------------------------------------------+
| a |
+--------------------------------------------------------------------------+
1 row in set (0.01 sec)
obclient>select case when 1>0 then 'true' else 'false' end;
+--------------------------------------------+
| case when 1>0 then 'true' else 'false' end |
+--------------------------------------------+
| true |
+--------------------------------------------+
1 row in set (0.00 sec)
~~~
#### IF
**聲明**
`IF(expr1,expr2,expr3)`
**說明**
如果 expr1 的值為 TRUE(即:expr1NULL),返回結果為 expr2; 否則返回結果為 expr3。
IF() 返回結果可以是數值或字符串類型,它取決于使用的內容。
如果 expr2, expr3 中只有一個明確是 NULL,則 IF() 函數的結果類型為非 NULL 表達式的結果類型。
**例子**
~~~
obclient>select if(5>6, 'T','F'), if (5>6, 1, 0), if(null, 'True', 'False'), if(0, 'True', 'False')\G
* 1. row *
if(5>6, 'T','F'): F
if (5>6, 1, 0): 0
if(null, 'True', 'False'): False
if(0, 'True', 'False'): False
1 row in set (0.01 sec)
~~~
#### IFNULL
**聲明**
`IFNULL(expr1, expr2)`
**說明**
假設 expr1 不為 NULL,則 IFNULL() 的返回值為 expr1; 否則其返回值為 expr2。IFNULL() 的返回值是數值或字符串,具體情況取決于其所使用的語境。
IF() 的默認返回值類型按照以下方式計算:
<table data-tag="table" id="table-tn4-2t9-vxa" class="table"><colgroup span="1" width="360" data-tag="col" id="col-0mp-e6m-5yw" colwidth="1*" colnum="1" colname="col1" style="width:50%" class="col"></colgroup><colgroup span="1" width="360" data-tag="col" id="col-3gl-yqx-e5z" colwidth="1*" colnum="2" colname="col2" style="width:50%" class="col"></colgroup><thead id="thead-chx-3d7-y7f" class="thead"><tr id="tr-f3v-4c5-hjn"><th id="td-qiy-5or-jcg"><p id="p-wua-4wp-9f0">表達式</p></th><th id="td-zan-hna-z9c"><p id="p-66s-1gi-xef">返回值</p></th></tr></thead><tbody data-tag="tbody" id="tbody-246-6dj-nny" class="tbody"><tr data-tag="tr" id="tr-4pg-e09-f2a" class="tr"><td data-tag="td" id="td-8i9-a0l-q46" class="td"><p id="p-i97-lbr-jid">expr1 或 expr2 返回值為一個字符串。</p></td><td data-tag="td" id="td-0a3-jfc-shg" class="td"><p id="p-oui-npj-5vl">字符串</p></td></tr><tr data-tag="tr" id="tr-3la-lya-nbh" class="tr"><td data-tag="td" id="td-9sf-grq-xcc" class="td"><p id="p-1hs-11v-9kk">expr1 或 expr2 返回值為一個浮點值。</p></td><td data-tag="td" id="td-s1y-c9x-k0k" class="td"><p id="p-i6u-bf2-s7j">浮點</p></td></tr><tr data-tag="tr" id="tr-env-jj1-le7" class="tr"><td data-tag="td" id="td-spx-7e3-zeo" class="td"><p id="p-12d-tdc-mhk">expr1 或 expr2 返回值為一個整數。</p></td><td data-tag="td" id="td-nfd-6n6-2dg" class="td"><p id="p-l6h-shs-zkj">整數</p></td></tr></tbody></table>
假如 expr1 和 expr2 都是字符串,且其中任何一個字符串區分大小寫,則返回結果是區分大小寫。
**例子**
~~~
obclient>SELECT IFNULL('abc', null), IFNULL(NULL+1, NULL+2), IFNULL(1/0, 0/1);
+---------------------+------------------------+------------------+
| IFNULL('abc', null) | IFNULL(NULL+1, NULL+2) | IFNULL(1/0, 0/1) |
+---------------------+------------------------+------------------+
| abc | NULL | 0.0000 |
+---------------------+------------------------+------------------+
1 row in set (0.01 sec)
~~~
#### NULLIF
**聲明**
`NULLIF(expr1, expr2)`
**說明**
如果 expr1 = expr2 成立,那么返回值為 NULL,否則返回值為 expr1。這和 CASE WHEN
*expr1 = expr2 THEN NULL ELSE expr1 END 相同。注意,如果參數不相等,則兩次求得的值為 expr1。*
**例子**
~~~
obclient>SELECT NULLIF('ABC', 123), NULLIF('123',123), NULLIF(NULL, 'abc');
+--------------------+-------------------+---------------------+
| NULLIF('ABC', 123) | NULLIF('123',123) | NULLIF(NULL, 'abc') |
+--------------------+-------------------+---------------------+
| ABC | NULL | NULL |
+--------------------+-------------------+---------------------+
1 row in set, 1 warning (0.01 sec)
~~~
#### ORA\_DECODE
**聲明**
`ora_decode(條件, 值1, 返回值1, 值2, 返回值2, ... 值n, 返回值n, 缺省值)`
**說明**
ORA\_DECODE() 函數功能等同于 Oracle 的 DECODE() 函數功能。
該函數的含義如下:
~~~
IF 條件=值1
THEN RETURN(返回值1)
ELSIF 條件=值2
THEN RETURN(返回值2)
......
ELSIF 條件=值n
THEN RETURN(返回值n)
ELSE RETURN(缺省值)
END IF
~~~
- 前言
- 1.說明
- 2.文檔更新說明
- docker
- 01.docker安裝
- 02.docker加速器
- 03.docker基本使用
- 04.docker 鏡像與容器
- 05.Dockerfile
- 06.docker阿里鏡像倉庫
- 07.docker私有鏡像倉庫harbor
- 08.docker網絡
- 09.docker項目實戰01
- 10.docker項目實戰02
- 11.docker componse
- 12.docker-compose常用命令
- 13.docker compose 案例
- 14.docker swarm集群
- 15.docker swarm常用命令
- 16.docker swarm 案例
- 17.volume
- 18.network
- 19.idea中部署項目到docker
- 20.docker目錄方式掛載sqlite
- 21.docker常用命令補充
- 22.nginx容器代理靜態文件403解決
- 23.docker集群管理平臺
- k8s
- 01.Kubernetes介紹
- 02.K8s基本概念
- 03.K8s架構圖
- 04.Minikube單節點環境搭建
- 05.kubeadm集群安裝1.14.0
- 06.虛擬機靜態網絡配置
- 07.kubeadm高可用集群安裝1.14.0
- 08 高可用VIP配置(keepalived+haproxy)
- 09.高可用免密登錄
- 10.kubeadm init流程
- 11.k8s體驗
- 12.網絡插件
- 13.Ingress
- 14.Ingress分類
- 15.Dashboard
- 16.存儲
- 01.Volumes
- 02.nfs
- 03.PV PVC
- 04.StorageClass
- 17.基礎組件
- 01.Pod
- 02.Service
- 03.ReplicaSet(RS)
- 04.Deployment
- 06.Namespace
- 02.DaemonSet
- 03.StatefulSet
- 04.ReplicationController(RC)
- 06.Job
- 09.PetSet
- 10.StatefulSets
- 11.Federation
- 12.Secret
- 05.Resources
- 13.UserAccount/ServiceAccount
- 14.RBAC
- 18.核心組件
- Master組件
- 01.kube-apiserver
- 02.etcd
- 03.kube-controller-manager
- 04.cloud-controller-manager
- 05.kube-scheduler
- 06.DNS
- Node組件
- 01.kubelet
- 02.kube-proxy
- 03.docker
- 04.RKT
- 05.supervisord
- 06.fluentd
- kubectl
- 19.K8S服務更新部署
- 20.CI/CD
- 01.java安裝
- 02.maven安裝
- 03.gitlab安裝
- 04.git安裝
- 05.jenkins安裝
- 06.k8s集群
- 07.DockerHub
- 08.實戰
- 21.日志
- 01.不同組件日志
- 02.LogPilot+ES+Kibana
- 22.監控
- 23.k8s部署ocp項目[mysql]
- 01.ocp介紹
- 02.環境準備
- 03.鏡像準備
- 04.部署說明
- 05.eureka-server
- 06.mysql
- 07.redis
- 08.auth-server
- 09.user-center
- 10.new-api-gateway
- 11.back-center
- 飛致云kubeoperator
- 01.kubeoperator介紹
- 02.kubeoperator安裝
- 飛致云DataEase
- 項目介紹
- 系統架構
- 安裝部署
- 在線安裝
- 離線安裝
- 用戶手冊
- 通用功能
- 數據源
- 數據集
- 視圖
- 儀表板
- 系統管理
- 用戶管理
- 飛致云JumpServer
- TIDB
- 網絡
- 交換機
- ISO/OSI協議模型詳解
- 交換CCNP
- RSTP快速生成樹協議
- MST多生成樹協議
- 以太網信道【應用廣泛】
- 廣播和多播抑制
- 多層交換
- ARP地址解析協議抑制
- VLAN間路由
- 熱備份路由協議HSRP【思科私有】
- 虛擬路由器冗余協議VRRP
- linux
- 01.時間同步
- linux時間不能同步
- Linux掛載磁盤
- 安裝ftp
- linux環境ftp賬號
- HTTP狀態碼
- 寶塔
- Centos安裝vsftp
- nginx ssl 配置
- datax
- 1.geom類型遷移擴展
- python安裝
- 消息中間件
- 1.RocketMQ
- 1.RocketMQ單機環境安裝
- 前端
- node踩坑之npm
- 數據庫
- Mysql安裝
- ClickHouse
- OceanBase數據庫
- OceanBase介紹
- OceanBase數據庫整體架構
- 快速入門
- 資源準備
- 安裝 OBD部署 OceanBase 數據庫
- 基本操作
- 數據庫操作
- 表操作
- 索引操作
- 插入數據
- 刪除數據
- 更新數據
- 提交事務
- 回滾事務
- 安裝部署
- 使用 RPM 包安裝 OceanBase 數據庫
- 使用源碼構建 OceanBase 數據庫
- 設置無密碼 SSH 登錄
- 配置時鐘源
- 數據分布
- 集群管理
- 租戶與資源管理
- 數據分布1
- 數據副本與服務
- 數據均衡
- 數據模型
- 多租戶架構
- 系統租戶
- 普通租戶
- 表格和表組
- 二級索引
- 無主鍵表
- 視圖
- 高可用
- 高可用方案
- 部署模式
- redo 日志管理控制
- 事務管理
- 隔離級別
- 并發控制
- 全局時間戳服務
- 本地事務
- 分布式事務
- 分布式查詢
- 存儲架構
- LSM Tree 架構
- 內存表 MemTable
- 塊存儲 SSTable
- 轉儲和合并
- 緩存機制
- 讀寫流程
- DDL
- SQL 引擎
- SQL 請求執行流程
- 查詢改寫
- 基于規則的查詢改寫
- 基于代價的查詢改寫
- 查詢優化
- 訪問路徑
- 基于規則的路徑選擇
- 基于代價的路徑選擇
- 聯接算法
- 聯接算法
- 聯接順序
- SQL 執行計劃
- 執行計劃算子
- TABLE SCAN
- TABLE LOOKUP
- JOIN
- COUNT
- GROUP BY
- WINDOW FUNCTION
- SUBPLAN FILTER
- DISTINCT
- SEQUENCE
- MATERIAL
- SORT
- LIMIT
- FOR UPDATE
- SELECT INTO
- SUBPLAN SCAN
- UNION
- INTERSECT
- EXCEPT/MINUS
- INSERT
- DELETE
- UPDATE
- MERGE
- EXCHANGE
- GI
- 執行計劃緩存
- 快速參數化
- 實時執行計劃展示
- 分布式執行計劃
- 分布式執行和并行查詢
- 分布式計劃的生成
- 分布式執行計劃調度
- 分布式執行計劃管理
- 并行查詢的執行
- 并行查詢的參數調優
- 備份與恢復
- 備份架構
- 恢復架構
- Backup Set
- Archive Log Round
- 管理員指南
- 數據庫基礎組件介紹
- 數據庫管理工具介紹
- OceanBase 客戶端
- MySQL 客戶端
- 數據庫基礎管理
- OceanBase 集群管理
- 集群參數管理
- 查詢集群參數
- 修改集群參數
- Zone 管理
- 增加或刪除 Zone
- 啟動或停止 Zone
- 修改 Zone
- OBServer 管理
- 查看 OBServer 狀態
- 停止 OBServer
- 啟動 OBServer
- 管理 OBServer 節點狀態
- 資源管理
- 創建資源單元
- 查看資源單元
- 修改資源單元
- 刪除資源單元
- 創建資源池
- 查看資源配置
- 修改資源池
- 刪除資源池
- 租戶管理
- 創建用戶租戶
- 新建租戶
- 查看租戶
- 修改租戶
- 刪除租戶
- 查看租戶會話
- 終止租戶會話
- 租戶管理變量
- 內存管理
- OceanBase 內存結構
- OceanBase 數據庫內存上限
- 系統內部內存管理
- 租戶內部內存管理
- 執行計劃緩存
- 常見內存問題
- 數據庫對象管理
- 管理表
- 關于表
- 創建表
- 定義自增列
- 定義列的約束類型
- 查看表的定義
- 更改表
- 清空表
- 刪除表
- 管理表組
- 關于表組
- 表組管理命令
- 管理索引
- 關于索引
- 創建索引
- 查看索引
- 刪除索引
- 視圖和同義詞管理
- 管理視圖
- 管理同義詞
- 數據分布和鏈路管理
- 分區表和分區索引管理
- 關于分區
- 分區策略
- 創建分區表
- 一級分區表
- 二級分區表
- 維護分區表
- 一級分區表
- 二級分區表
- 分區裁剪
- 分區命名與查詢
- 在分區表上建立索引
- 局部索引
- 全局索引
- 使用索引
- 副本管理
- 表級副本的使用
- Locality 管理
- 修改租戶的 Locality
- 事務管理
- 提交事務
- 回滾事務
- 事務隔離級別
- 用戶權限管理
- 創建用戶
- 修改用戶權限
- 查看白名單
- 鎖定和解鎖用戶
- 刪除用戶
- 數據高可用
- 回收站管理
- 回收站支持的對象
- 數據庫、表和索引級回收站
- 租戶級回收站
- 物理備份與恢復管理
- 部署 NFS
- 備份數據
- 通過命令行備份
- 查看備份進度
- 停止備份
- 刪除過期的備份
- 清理備份數據
- 取消清理備份數據
- 恢復數據
- 執行恢復
- 查看恢復進度和結果
- 備份維護
- 開發者指南
- 關于OceanBase數據庫
- OceanBase 集群簡介
- OceanBase 租戶簡介
- MySQL 租戶數據庫對象
- MySQL 客戶端
- OceanBase 客戶端(obclient)
- 關于結構化查詢語言
- Java 數據庫連接驅動(JDBC)
- 連接OceanBase數據庫
- 通過 MySQL 客戶端連接 OceanBase 租戶
- 通過 obclient 連接 OceanBase 租戶
- 創建 OceanBase 示例數據庫 TPCC
- 通過 obclient 探索 OceanBase MySQL 租戶
- 查詢表數據
- 關于查詢語句
- 查詢表里符合特定搜索條件的數據
- 對查詢的結果進行排序
- 從多個表里查詢數據
- 在查詢中使用操作符和函數
- 查看查詢執行計劃
- 在查詢中使用 SQL Hint
- 關于查詢超時設計
- 關于 DML 語句和事務
- 關于 DML 語句
- 關于 INSERT 語句
- 關于 UPDATE 語句
- 關于 DELETE 語句
- 關于 REPLACE INTO 語句
- 關于事務控制語句
- 提交事務
- 回滾事務
- 事務保存點
- 關于事務超時
- 創建和管理數據庫對象
- 關于 DDL 語句
- 創建數據庫
- 創建和管理表
- 關于 SQL 數據類型
- 創建表
- 關于自增列
- 關于列的約束類型
- 關于表的索引
- 閃回被刪除的表
- 創建和管理分區表
- 分區路由
- 分區策略
- 分區表的索引
- 分區表使用建議
- 創建和管理表組
- 關于表組
- 創建表時指定表組
- 查看表組信息
- 向表組中增加表
- 刪除表組
- 創建和管理視圖
- 創建視圖
- 修改視圖
- 刪除視圖
- 向 OceanBase 遷移數據
- DataX
- 不同數據源的 DataX 讀寫插件示例
- OceanBase 數據加載技術
- 附錄
- OceanBase 常用參數和變量
- OceanBase 常用 SQL
- SQL參考
- 基本元素
- 運算符
- 函數
- 函數
- 聚集函數
- 分析函數
- 信息函數
- 其它函數
- 查詢和子查詢
- 連接
- 集合
- SQL語句
- 通用語法
- ALTER DATABASE
- ALTER OUTLINE
- ALTER RESOURCE POOL
- ALTER RESOURCE UNIT
- ALTER SYSTEM
- ALTER TABLE
- ALTER TABLEGROUP
- ALTER TENANT
- ALTER USER
- CREATE DATABASE
- CREATE INDEX
- CREATE OUTLINE
- CREATE RESOURCE POOL
- CREATE RESOURCE UNIT
- CREATE RESTORE POINT
- CREATE SYNONYM
- CREATE TABLE
- CREATE TABLEGROUP
- CREATE TENANT
- CREATE USER
- CREATE VIEW
- DELETE
- DROP DATABASE
- DROP INDEX
- DROP OUTLINE
- DROP RESOURCE POOL
- DROP RESOURCE UNIT
- DROP RESTORE POINT
- DROP TABLE
- DROP TABLEGROUP
- DROP TENANT
- DROP SYNONYM
- DROP USER
- DROP VIEW
- EXPLAIN
- FLASHBACK DATABASE
- FLASHBACK TABLE
- FLASHBACK TENANT
- GRANT
- INSERT
- KILL
- PURGE DATABASE
- PURGE INDEX
- PURGE RECYCLEBIN
- PURGE TABLE
- PURGE TENANT
- RENAME TABLE
- RENAME USER
- REPLACE
- REVOKE
- SAVEPOINT
- SCHEMA
- SELECT
- SESSION
- SET PASSWORD
- SHOW GRANTS
- SHOW RECYCLEBIN
- TRANSACTION
- TRUNCATE TABLE
- UPDATE
- SQL調優指南
- SQL請求執行流程
- SQL 執行計劃
- SQL 執行計劃簡介
- 執行計劃算子
- TABLE SCAN
- TABLE LOOKUP
- JOIN
- COUNT
- GROUP BY
- WINDOW FUNCTION
- SUBPLAN FILTER
- DISTINCT
- SEQUENCE
- MATERIAL
- SORT
- LIMIT
- FOR UPDATE
- SELECT INTO
- SUBPLAN SCAN
- UNION
- INTERSECT
- EXCEPT/MINUS
- INSERT
- DELETE
- UPDATE
- MERGE
- EXCHANGE
- GI
- 執行計劃緩存
- 快速參數化
- 實時執行計劃展示
- 分布式執行計劃
- 分布式執行和并行查詢
- 分布式計劃的生成
- 分布式執行計劃調度
- 分布式執行計劃管理
- 并行查詢的執行
- 并行查詢的參數調優
- 參考指南
- 系統視圖
- 概述
- 字典視圖
- mysql.help_topic
- mysql.help_category
- mysql.help_keyword
- mysql.help_relation
- mysql.db
- mysql.proc
- mysql.time_zone
- mysql.time_zone_name
- mysql.time_zone_transition
- mysql.time_zone_transition_type
- mysql.user
- information_schema.CHARACTER_SETS
- information_schema.COLLATIONS
- information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
- information_schema.COLUMNS
- information_schema.DBA_OUTLINES
- information_schema.ENGINES
- information_schema.GLOBAL_STATUS
- information_schema.GLOBAL_VARIABLES
- information_schema.KEY_COLUMN_USAGE
- information_schema.PARAMETERS
- information_schema.PARTITIONS
- information_schema.PROCESSLIST
- information_schema.REFERENTIAL_CONSTRAINTS
- information_schema.ROUTINES
- information_schema.SCHEMATA
- information_schema.SCHEMA_PRIVILEGES
- information_schema.SESSION_STATUS
- information_schema.SESSION_VARIABLES
- information_schema.STATISTICS
- information_schema.TABLES
- information_schema.TABLE_CONSTRAINTS
- information_schema.TABLE_PRIVILEGES
- information_schema.USER_PRIVILEGES
- information_schema.USER_RECYCLEBIN
- information_schema.VIEWS
- oceanbase.CDB_OB_BACKUP_ARCHIVELOG_SUMMARY
- oceanbase.CDB_OB_BACKUP_JOB_DETAILS
- oceanbase.CDB_OB_BACKUP_SET_DETAILS
- oceanbase.CDB_OB_BACKUP_PROGRESS
- oceanbase.CDB_OB_BACKUP_SET_EXPIRED
- oceanbase.CDB_OB_BACKUP_ARCHIVELOG_PROGRESS
- oceanbase.CDB_OB_BACKUP_CLEAN_HISTORY
- oceanbase.CDB_OB_BACKUP_TASK_CLEAN_HISTORY
- oceanbase.CDB_OB_RESTORE_PROGRESS
- oceanbase.CDB_OB_RESTORE_HISTORY
- oceanbase.CDB_CKPT_HISTORY
- oceanbase.CDB_OB_BACKUP_VALIDATION_JOB
- oceanbase.CDB_OB_BACKUP_VALIDATION_JOB_HISTORY
- oceanbase.CDB_OB_TENANT_BACKUP_VALIDATION_TASK
- oceanbase.CDB_OB_BACKUP_VALIDATION_TASK_HISTORY
- oceanbase.CDB_OB_BACKUP_BACKUP_ARCHIVELOG_SUMMARY
- oceanbase.CDB_OB_BACKUP_BACKUPSET_TASK_HISTORY
- oceanbase.CDB_OB_BACKUP_BACKUPSET_TASK
- oceanbase.CDB_OB_BACKUP_BACKUPSET_JOB_HISTORY
- oceanbase.CDB_OB_BACKUP_BACKUPSET_JOB
- oceanbase.CDB_OB_BACKUP_SET_OBSOLETE
- 性能視圖
- gv$plan_cache_stat
- gv$plan_cache_plan_stat
- gv$session_event
- gv$session_wait
- gv$session_wait_history
- gv$system_event
- gv$sesstat
- gv$sysstat
- gv$sql_audit
- gv$latch
- gv$memory
- gv$memstore
- gv$memstore_info
- gv$plan_cache_plan_explain
- gv$obrpc_outgoing
- gv$obrpc_incoming
- gv$sql
- gv$sql_plan_monitor
- gv$outline
- gv$concurrent_limit_sql
- gv$sql_plan_statistics
- gv$server_memstore
- gv$unit_load_balance_event_history
- gv$tenant
- gv$database
- gv$table
- gv$unit
- gv$partition
- gv$lock_wait_stat
- gv$session_longops
- gv$tenant_memstore_allocator_info
- gv$minor_merge_info
- gv$tenant_px_worker_stat
- gv$partition_audit
- gv$ps_stat
- gv$ps_item_info
- gv$sql_workarea
- gv$sql_workarea_histogram
- gv$ob_sql_workarea_memory_info
- gv$server_schema_info
- gv$merge_info
- gv$lock
- gv$sstable
- gv$ob_trans_table_status
- v$statname
- v$event_name
- v$session_event
- v$session_wait
- v$session_wait_history
- v$sesstat
- v$sysstat
- v$system_event
- v$memory
- v$memstore
- v$memstore_info
- v$plan_cache_stat
- v$plan_cache_plan_stat
- v$plan_cache_plan_explain
- v$sql_audit
- v$obrpc_outgoing
- v$obrpc_incoming
- v$sql
- v$sql_monitor
- v$sql_plan_monitor
- v$sql_plan_statistics
- v$unit
- v$partition
- v$lock_wait_stat
- v$session_longops
- v$latch
- v$tenant_memstore_allocator_info
- v$tenant_px_worker_stat
- v$partition_audit
- v$ob_cluster
- v$ob_standby_status
- v$ob_cluster_stats
- v$ob_cluster_event_history
- v$ps_stat
- v$ps_item_info
- v$sql_workarea
- v$sql_workarea_active
- v$sql_workarea_histogram
- v$ob_sql_workarea_memory_info
- v$ob_timestamp_service
- v$server_schema_info
- v$merge_info
- v$lock
- v$sql_monitor_statname
- v$restore_point
- v$ob_cluster_failover_info
- v$encrypted_tables
- v$encrypted_tablespaces
- v$sstable
- v$ob_trans_table_status
- 系統變量
- 系統變量概述
- auto_increment_increment
- auto_increment_offset
- autocommit
- character_set_client
- character_set_connection
- character_set_database
- character_set_results
- character_set_server
- character_set_system
- collation_connection
- collation_database
- collation_server
- interactive_timeout
- last_insert_id
- max_allowed_packet
- sql_mode
- time_zone
- tx_isolation
- version_comment
- wait_timeout
- binlog_row_image
- character_set_filesystem
- connect_timeout
- datadir
- debug_sync
- div_precision_increment
- explicit_defaults_for_timestamp
- group_concat_max_len
- identity
- lower_case_table_names
- net_read_timeout
- net_write_timeout
- read_only
- sql_auto_is_null
- sql_select_limit
- timestamp
- tx_read_only
- version
- sql_warnings
- max_user_connections
- init_connect
- license
- net_buffer_length
- system_time_zone
- query_cache_size
- query_cache_type
- sql_quote_show_create
- max_sp_recursion_depth
- sql_safe_updates
- ob_proxy_partition_hit
- ob_log_level
- ob_max_parallel_degree
- ob_query_timeout
- ob_read_consistency
- ob_enable_transformation
- ob_trx_timeout
- ob_enable_plan_cache
- ob_enable_index_direct_select
- ob_proxy_set_trx_executed
- ob_enable_aggregation_pushdown
- ob_last_schema_version
- ob_global_debug_sync
- ob_proxy_global_variables_version
- ob_enable_trace_log
- ob_enable_hash_group_by
- ob_enable_blk_nestedloop_join
- ob_bnl_join_cache_size
- ob_org_cluster_id
- ob_plan_cache_percentage
- ob_plan_cache_evict_high_percentage
- ob_plan_cache_evict_low_percentage
- recyclebin
- ob_capability_flag
- ob_stmt_parallel_degree
- is_result_accurate
- error_on_overlap_time
- ob_compatibility_mode
- ob_create_table_strict_mode
- ob_sql_work_area_percentage
- ob_route_policy
- ob_enable_transmission_checksum
- foreign_key_checks
- ob_enable_truncate_flashback
- ob_tcp_invited_nodes
- sql_throttle_current_priority
- sql_throttle_priority
- sql_throttle_rt
- sql_throttle_network
- auto_increment_cache_size
- ob_enable_jit
- ob_timestamp_service
- plugin_dir
- undo_retention
- ob_sql_audit_percentage
- ob_enable_sql_audit
- optimizer_use_sql_plan_baselines
- optimizer_capture_sql_plan_baselines
- parallel_max_servers
- parallel_servers_target
- ob_trx_idle_timeout
- block_encryption_mode
- ob_reserved_meta_memory_percentage
- ob_check_sys_variable
- tracefile_identifier
- transaction_isolation
- ob_trx_lock_timeout
- validate_password_check_user_name
- validate_password_length
- validate_password_mixed_case_count
- validate_password_number_count
- validate_password_policy
- validate_password_special_char_count
- default_password_lifetime
- ob_trace_info
- secure_file_priv
- ob_pl_block_timeout
- performance_schema
- transaction_read_only
- resource_manager_plan
- 系統配置項
- 系統配置項概述
- auto_leader_switch_interval
- auto_delete_expired_backup
- autoinc_cache_refresh_interval
- audit_sys_operations
- audit_trail
- balancer_idle_time
- balancer_log_interval
- balancer_timeout_check_interval
- balancer_task_timeout
- balancer_tolerance_percentage
- balancer_emergency_percentage
- balance_blacklist_failure_threshold
- balance_blacklist_retry_interval
- backup_concurrency
- backup_dest
- backup_net_limit
- backup_recovery_window
- backup_region
- builtin_db_data_verify_cycle
- bf_cache_miss_count_threshold
- bf_cache_priority
- cache_wash_threshold
- clog_cache_priority
- clog_sync_time_warn_threshold
- clog_disk_usage_limit_percentage
- clog_transport_compress_all
- clog_transport_compress_func
- clog_persistence_compress_func
- clog_max_unconfirmed_log_count
- cluster
- cluster_id
- cpu_count
- cpu_quota_concurrency
- cpu_reserved
- config_additional_dir
- data_copy_concurrency
- data_dir
- datafile_disk_percentage
- dtl_buffer_size
- datafile_size
- debug_sync_timeout
- default_compress_func
- default_compress
- default_progressive_merge_num
- default_row_format
- devname
- data_disk_usage_limit_percentage
- disk_io_thread_count
- dead_socket_detection_timeout
- enable_clog_persistence_compress
- election_cpu_quota
- enable_one_phase_commit
- enable_sys_unit_standalone
- enable_pg
- enable_smooth_leader_switch
- election_blacklist_interval
- enable_election_group
- enable_auto_leader_switch
- enable_global_freeze_trigger
- enable_manual_merge
- enable_merge_by_turn
- enable_perf_event
- enable_rebalance
- enable_record_trace_log
- enable_record_trace_id
- enable_early_lock_release
- enable_rereplication
- enable_rich_error_msg
- enable_rootservice_standalone
- enable_sql_audit
- enable_sql_operator_dump
- enable_async_syslog
- enable_syslog_recycle
- enable_syslog_wf
- enable_upgrade_mode
- enable_separate_sys_clog
- enable_ddl
- enable_major_freeze
- enable_rebuild_on_purpose
- enable_log_archive
- enable_monotonic_weak_read
- external_kms_info
- freeze_trigger_percentage
- flush_log_at_trx_commit
- fuse_row_cache_priority
- force_refresh_location_cache_interval
- force_refresh_location_cache_threshold
- get_leader_candidate_rpc_timeout
- global_major_freeze_residual_memory
- global_write_halt_residual_memory
- ignore_replay_checksum_error
- global_index_build_single_replica_timeout
- high_priority_net_thread_count
- ignore_replica_checksum_error
- ignore_replay_checksum_error
- index_cache_priority
- index_clog_cache_priority
- index_info_block_cache_priority
- internal_sql_execute_timeout
- large_query_worker_percentage
- large_query_threshold
- leak_mod_to_check
- lease_time
- location_cache_cpu_quota
- location_cache_expire_time
- location_cache_priority
- location_cache_refresh_min_interval
- location_fetch_concurrency
- location_refresh_thread_count
- log_archive_checkpoint_interval
- log_archive_concurrency
- log_restore_concurrency
- major_freeze_duty_time
- max_kept_major_version_number
- max_string_print_length
- max_syslog_file_count
- merge_stat_sampling_ratio
- major_compact_trigger
- memory_chunk_cache_size
- memory_limit
- memory_limit_percentage
- memory_reserved
- merge_thread_count
- merger_check_interval
- merger_completion_percentage
- merger_switch_leader_duration_time
- merger_warm_up_duration_time
- max_px_worker_count
- migration_disable_time
- min_observer_version
- minor_deferred_gc_time
- minor_freeze_times
- minor_warm_up_duration_time
- mysql_port
- minor_merge_concurrency
- multiblock_read_gap_size
- multiblock_read_size
- micro_block_merge_verify_level
- migrate_concurrency
- minor_compact_trigger
- memstore_limit_percentage
- net_thread_count
- obconfig_url
- ob_enable_batched_multi_statement
- partition_table_check_interval
- partition_table_scan_batch_count
- plan_cache_evict_interval
- px_task_size
- px_workers_per_cpu_quota
- replica_safe_remove_time
- resource_hard_limit
- resource_soft_limit
- rootservice_async_task_queue_size
- rootservice_async_task_thread_count
- rootservice_list
- rootservice_ready_check_interval
- row_compaction_update_limit
- row_purge_thread_count
- rpc_port
- rpc_timeout
- restore_concurrency
- rootservice_memory_limit
- rebuild_replica_data_lag_threshold
- schema_history_expire_time
- ssl_client_authentication
- server_check_interval
- server_data_copy_in_concurrency
- server_data_copy_out_concurrency
- server_permanent_offline_time
- stack_size
- server_balance_critical_disk_waterlevel
- server_balance_disk_tolerance_percent
- system_memory
- server_balance_cpu_mem_tolerance_percent
- server_cpu_quota_max
- server_cpu_quota_min
- sql_audit_memory_limit
- sys_bkgd_io_high_percentage
- sys_bkgd_io_low_percentage
- sys_bkgd_io_timeout
- sys_bkgd_net_percentage
- sys_bkgd_migration_change_member_list_timeout
- sys_bkgd_migration_retry_num
- syslog_level
- switchover_process_thread_count
- system_cpu_quota
- sys_cpu_limit_trigger
- syslog_io_bandwidth_limit
- tablet_size
- tableapi_transport_compress_func
- tenant_task_queue_size
- tenant_groups
- trace_log_slow_query_watermark
- trace_log_sampling_interval
- trx_2pc_retry_interval
- trx_force_kill_threshold
- tde_method
- token_reserved_percentage
- unit_balance_resource_weight
- user_block_cache_priority
- user_row_cache_priority
- user_tab_col_stat_cache_priority
- user_iort_up_percentage
- use_large_pages
- virtual_table_location_cache_expire_time
- workers_per_cpu_quota
- wait_leader_batch_count
- writing_throttling_maximum_duration
- writing_throttling_trigger_percentage
- weak_read_version_refresh_interval
- workarea_size_policy
- zone
- zone_merge_concurrency
- zone_merge_order
- zone_merge_timeout
- ob_ssl_invited_common_names
- ssl_external_kms_info
- ob_event_history_recycle_interval
- backup_log_archive_checkpoint_interval
- plsql_ccflags
- plsql_code_type
- plsql_debug
- plsql_optimize_level
- plsql_v2_compatibility
- plsql_warnings
- recyclebin_object_expire_time
- log_archive_batch_buffer_limit
- clog_disk_utilization_threshold
- backup_backup_archive_log_batch_count
- backup_backup_archivelog_retry_interval
- backup_backupset_batch_count
- backup_backupset_retry_interval
- open_cursors
- fast_recovery_concurrency
- 預留關鍵字
- 部署實踐
- 設置無密碼 SSH 登錄
- 單機安裝
- 本地安裝
- 分布式安裝
- 創建租戶
- OceanBaseDeploy(OBD)常用命令
- 大數據
- 數據倉庫分層
- 數據倉庫分層實踐
- hive安裝
- hive命令
- hadoop安裝
- jdk安裝
- 應龍inlong
- 網關
- apisix
- apisix2.7源碼安裝
- apisix rpm2.6安裝
- apisix-dashboard2.7 rpm安裝
- apisix-dashboard使用
- apisix-dashboard進階