Skip to content

Commit cb3c595

Browse files
authored
fix <li> formatting in tables (#21163) (#21168)
1 parent 65a42b2 commit cb3c595

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

oracle-functions-to-tidb.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@ summary: 了解 Oracle 与 TiDB 函数和语法差异对照。
1717

1818
| 函数 | Oracle 语法 | TiDB 语法 | 说明 |
1919
|---|---|---|---|
20-
| 转换数据类型 | <li>`TO_NUMBER(key)`</li><li>`TO_CHAR(key)`</li> | `CONVERT(key,dataType)` | TiDB 支持转换为下面类型:`BINARY``CHAR``DATE``DATETIME``TIME``SIGNED INTEGER``UNSIGNED INTEGER``DECIMAL`|
21-
| 日期类型转换为字符串类型 | <li>`TO_CHAR(SYSDATE,'yyyy-MM-dd hh24:mi:ss')`</li> <li>`TO_CHAR(SYSDATE,'yyyy-MM-dd')`</li> | <li>`DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')`</li><li>`DATE_FORMAT(NOW(),'%Y-%m-%d')`</li> | TiDB 的格式化字符串大小写敏感。 |
22-
| 字符串类型转换为日期类型 | <li>`TO_DATE('2021-05-28 17:31:37','yyyy-MM-dd hh24:mi:ss')`</li><li>`TO_DATE('2021-05-28','yyyy-MM-dd hh24:mi:ss')`</li> | <li>`STR_TO_DATE('2021-05-28 17:31:37','%Y-%m-%d %H:%i:%s')`</li><li>`STR_TO_DATE('2021-05-28','%Y-%m-%d%T')` </li> | TiDB 的格式化字符串大小写敏感。 |
20+
| 转换数据类型 | <ul><li>`TO_NUMBER(key)`</li><li>`TO_CHAR(key)`</li></ul> | `CONVERT(key,dataType)` | TiDB 支持转换为下面类型:`BINARY``CHAR``DATE``DATETIME``TIME``SIGNED INTEGER``UNSIGNED INTEGER``DECIMAL`|
21+
| 日期类型转换为字符串类型 | <ul><li>`TO_CHAR(SYSDATE,'yyyy-MM-dd hh24:mi:ss')`</li> <li>`TO_CHAR(SYSDATE,'yyyy-MM-dd')`</li></ul> | <ul><li>`DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')`</li><li>`DATE_FORMAT(NOW(),'%Y-%m-%d')`</li></ul> | TiDB 的格式化字符串大小写敏感。 |
22+
| 字符串类型转换为日期类型 | <ul><li>`TO_DATE('2021-05-28 17:31:37','yyyy-MM-dd hh24:mi:ss')`</li><li>`TO_DATE('2021-05-28','yyyy-MM-dd hh24:mi:ss')`</li></ul> | <ul><li>`STR_TO_DATE('2021-05-28 17:31:37','%Y-%m-%d %H:%i:%s')`</li><li>`STR_TO_DATE('2021-05-28','%Y-%m-%d%T')` </li></ul> | TiDB 的格式化字符串大小写敏感。 |
2323
| 获取系统当前时间(精确到秒)| `SYSDATE` | `NOW()` | |
2424
| 获取当前时间(精确到微秒)| `SYSTIMESTAMP` | `CURRENT_TIMESTAMP(6)` | |
2525
| 获取两个日期相差的天数 | `date1 - date2` | `DATEDIFF(date1, date2)` | |
2626
| 获取两个日期间隔月份 | `MONTHS_BETWEEN(ENDDATE,SYSDATE)` | `TIMESTAMPDIFF(MONTH,SYSDATE,ENDDATE)` | Oracle 中 `MONTHS_BETWEEN()` 函数与 TiDB 中 `TIMESTAMPDIFF()` 函数的结果会有误差。`TIMESTAMPDIFF()` 只保留整数月。使用时需要注意,两个函数的参数位置相反。 |
2727
| 日期增加/减少 n 天 | `DATEVAL + n` | `DATE_ADD(dateVal,INTERVAL n DAY)` | `n` 可为负数。|
2828
| 日期增加/减少 n 月 | `ADD_MONTHS(dateVal,n)`| `DATE_ADD(dateVal,INTERVAL n MONTH)` | `n` 可为负数。|
29-
| 获取日期到日 | `TRUNC(SYSDATE)` | <li>`CAST(NOW() AS DATE)`</li><li>`DATE_FORMAT(NOW(),'%Y-%m-%d')`</li> | TiDB 中 `CAST``DATE_FORMAT` 结果一致。|
30-
| 获取日期当月第一天 | `TRUNC(SYSDATE,'mm')` | `DATE_ADD(CURDATE(),interval - day(CURDATE()) + 1 day)` | |
29+
| 获取日期到日 | `TRUNC(SYSDATE)` | <ul><li>`CAST(NOW() AS DATE)`</li><li>`DATE_FORMAT(NOW(),'%Y-%m-%d')`</li></ul> | TiDB 中 `CAST``DATE_FORMAT` 结果一致。|
30+
| 获取日期当月第一天 | `TRUNC(SYSDATE,'mm')` | `DATE_ADD(CURDATE(),interval - day(CURDATE()) + 1 day)` | |
3131
| 截取数据 | `TRUNC(2.136) = 2`<br/> `TRUNC(2.136,2) = 2.13` | `TRUNCATE(2.136,0) = 2`<br/> `TRUNCATE(2.136,2) = 2.13` | 数据精度保留,直接截取相应小数位,不涉及四舍五入。 |
3232
| 获取序列下一个值 | `sequence_name.NEXTVAL` | `NEXTVAL(sequence_name)` | |
3333
| 获取随机序列值 | `SYS_GUID()` | `UUID()` | TiDB 返回一个通用唯一识别码 (UUID)。|
3434
| 左/右外连接 | `SELECT * FROM a, b WHERE a.id = b.id(+);`<br/>`SELECT * FROM a, b WHERE a.id(+) = b.id;` | `SELECT * FROM a LEFT JOIN b ON a.id = b.id;`<br/>`SELECT * FROM a RIGHT JOIN b ON a.id = b.id;` | 关联查询时,TiDB 不支持使用 (+) 实现左/右关联,只能通过 `LEFT JOIN``RIGHT JOIN` 实现。|
3535
| `NVL()` | `NVL(key,val)` | `IFNULL(key,val)` | 如果该字段值为 `NULL`,则返回 val 值,否则返回该字段的值。 |
3636
| `NVL2()` | `NVL2(key, val1, val2)` | `IF(key is NOT NULL, val1, val2)` | 如果该字段值非 `NULL`,则返回 val1 值,否则返回 val2 值。|
37-
| `DECODE()` | <li>`DECODE(key,val1,val2,val3)`</li><li>`DECODE(value,if1,val1,if2,val2,...,ifn,valn,val)`</li> | <li>`IF(key=val1,val2,val3)`</li><li>`CASE WHEN value=if1 THEN val1 WHEN value=if2 THEN val2,...,WHEN value=ifn THEN valn ELSE val END`</li> | <li>如果该字段值等于 val1,则返回 val2,否则返回 val3。</li><li>当该字段值满足条件 1 (if1) 时,返回 val1,满足条件 2 (if2) 时,返回 val2,满足条件 3 (if3) 时,返回 val3。</li> |
37+
| `DECODE()` | <ul><li>`DECODE(key,val1,val2,val3)`</li><li>`DECODE(value,if1,val1,if2,val2,...,ifn,valn,val)`</li></ul> | <ul><li>`IF(key=val1,val2,val3)`</li><li>`CASE WHEN value=if1 THEN val1 WHEN value=if2 THEN val2,...,WHEN value=ifn THEN valn ELSE val END`</li></ul> | <ul><li>如果该字段值等于 val1,则返回 val2,否则返回 val3。</li><li>当该字段值满足条件 1 (if1) 时,返回 val1,满足条件 2 (if2) 时,返回 val2,满足条件 3 (if3) 时,返回 val3。</li></ul> |
3838
| 拼接字符串 `a``b` | <code>'a' \|\| 'b'</code> | `CONCAT('a','b')` | |
3939
| 获取字符串长度 | `LENGTH(str)` | `CHAR_LENGTH(str)` | |
40-
| 获取子串 | `SUBSTR('abcdefg',0,2) = 'ab'`<br/> `SUBSTR('abcdefg',1,2) = 'ab'` | `SUBSTRING('abcdefg',0,2) = ''`<br/>`SUBSTRING('abcdefg',1,2) = 'ab'` | <li>Oracle 中起始位置 0 与 1 作用一样。</li><li>TiDB 中 0 开始获取的子串为空,若需从字符串的起始位置开始,则应从 1 开始。</li> |
40+
| 获取子串 | `SUBSTR('abcdefg',0,2) = 'ab'`<br/> `SUBSTR('abcdefg',1,2) = 'ab'` | `SUBSTRING('abcdefg',0,2) = ''`<br/>`SUBSTRING('abcdefg',1,2) = 'ab'` | <ul><li>Oracle 中起始位置 0 与 1 作用一样。</li><li>TiDB 中 0 开始获取的子串为空,若需从字符串的起始位置开始,则应从 1 开始。</li></ul> |
4141
| 字符串在源字符串中的位置 | `INSTR('abcdefg','b',1,1)` | `INSTR('abcdefg','b')` | 从字符串 `'abcdefg'` 第一个字符开始查询,返回 `'b'` 字符串第一次出现的位置。 |
4242
| 字符串在源字符串中的位置 | `INSTR('stst','s',1,2)` | `LENGTH(SUBSTRING_INDEX('stst','s',2)) + 1` | 从字符串 `'stst'` 第一个字符开始查找,返回 `'s'` 字符第二次出现的位置。 |
4343
| 字符串在源字符串中的位置 | `INSTR('abcabc','b',2,1)` | `LOCATE('b','abcabc',2)` | 从字符串 `'abcabc'` 第二个字符开始查询,返回 `'b'` 字符第一次出现的位置。 |

releases/release-8.5.0.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ TiDB 8.5.0 为长期支持版本 (Long-Term Support Release, LTS)。
3030
<td rowspan="7">可扩展性与性能</td>
3131
<td>多维度降低数据处理延迟</td>
3232
<td>TiDB 不断优化数据处理细节,持续提升性能,以更好地满足金融领域对 SQL 处理低延迟的高要求。关键更新包括:
33-
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_executor_concurrency-从-v50-版本开始引入">并行排序</a>(从 v8.2.0 开始引入)</li>
33+
<ul><li><a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_executor_concurrency-从-v50-版本开始引入">并行排序</a>(从 v8.2.0 开始引入)</li>
3434
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/tidb-configuration-file#batch-policy-从-v830-版本开始引入">优化 KV 请求批处理策略</a>(从 v8.3.0 开始引入)</li>
3535
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_tso_client_rpc_mode-从-v840-版本开始引入">并行获取 TSO</a>(从 v8.4.0 开始引入)</li>
3636
<li>降低 <a href="https://docs.pingcap.com/zh/tidb/v8.5/sql-statement-delete">DELETE</a> 操作的资源开销(从 v8.4.0 开始引入)</li>
3737
<li>优化<a href="https://docs.pingcap.com/zh/tidb/v8.5/cached-tables#缓存表">缓存表</a>场景性能(从 v8.4.0 开始引入)</li>
38-
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_hash_join_version-从-v840-版本开始引入">Hash Join 算法优化</a>(实验特性,从 v8.4.0 开始引入)</li>
38+
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_hash_join_version-从-v840-版本开始引入">Hash Join 算法优化</a>(实验特性,从 v8.4.0 开始引入)</li></ul>
3939
</td>
4040
</tr>
4141
<tr>
@@ -66,10 +66,10 @@ TiDB 8.5.0 为长期支持版本 (Long-Term Support Release, LTS)。
6666
<td rowspan="5">稳定性与高可用</td>
6767
<td>提升超大规模集群的稳定性</td>
6868
<td>对于使用 TiDB 运行多租户应用或者 SaaS 应用的公司,经常需要存储大量的表,TiDB 在 v8.5.0 着力增强了大规模集群的稳定性。
69-
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/schema-cache">Schema 缓存控制</a>以及<a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_stats_cache_mem_quota-从-v610-版本开始引入">设置统计信息缓存使用内存的上限</a>成为正式功能,减少了内存过度消耗带来的稳定性问题。</li>
69+
<ul><li><a href="https://docs.pingcap.com/zh/tidb/v8.5/schema-cache">Schema 缓存控制</a>以及<a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_stats_cache_mem_quota-从-v610-版本开始引入">设置统计信息缓存使用内存的上限</a>成为正式功能,减少了内存过度消耗带来的稳定性问题。</li>
7070
<li>PD 通过 <a href="https://docs.pingcap.com/zh/tidb/v8.5/tune-region-performance#通过-active-pd-follower-提升-pd-region-信息查询服务的扩展能力">Active Follower</a> 可应对大量 Region 带来的压力,并<a href="https://docs.pingcap.com/zh/tidb/v8.5/pd-microservices">将 PD 所承担的服务逐步解耦</a>,独立部署。</li>
7171
<li>PD 优化提升 Region 心跳处理的性能,并支持集群中千万级 Regions 的规模。</li>
72-
<li>通过<a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_auto_analyze_concurrency-从-v840-版本开始引入">增加并发度</a>,以及<a href="https://docs.pingcap.com/zh/tidb/v8.5/statistics#收集部分列的统计信息">减少收集对象的数量</a>,统计信息收集和加载效率得到提升,保证了大集群执行计划的稳定性。</li>
72+
<li>通过<a href="https://docs.pingcap.com/zh/tidb/v8.5/system-variables#tidb_auto_analyze_concurrency-从-v840-版本开始引入">增加并发度</a>,以及<a href="https://docs.pingcap.com/zh/tidb/v8.5/statistics#收集部分列的统计信息">减少收集对象的数量</a>,统计信息收集和加载效率得到提升,保证了大集群执行计划的稳定性。</li></ul>
7373
</td>
7474
</tr>
7575
<tr>
@@ -83,9 +83,9 @@ TiDB 8.5.0 为长期支持版本 (Long-Term Support Release, LTS)。
8383
<tr>
8484
<td>增强并扩展 TiProxy 的使用场景</td>
8585
<td>作为 TiDB 高可用的重要组件,<a href="https://docs.pingcap.com/zh/tidb/v8.5/tiproxy-overview">TiProxy</a> 除了提供 SQL 流量接入和转发功能外,新增了对集群变更的评估能力。主要包括:
86-
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/tiproxy-traffic-replay">TiProxy 流量捕获和回放</a>(实验特性,从 v8.4.0 开始引入)</li>
86+
<ul><li><a href="https://docs.pingcap.com/zh/tidb/v8.5/tiproxy-traffic-replay">TiProxy 流量捕获和回放</a>(实验特性,从 v8.4.0 开始引入)</li>
8787
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/tiproxy-overview">TiProxy 内置虚拟 IP 管理</a>(从 v8.3.0 开始引入)</li>
88-
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/tiproxy-load-balance">TiProxy 支持多种负载均衡策略</a>(从 v8.2.0 开始引入)</li>
88+
<li><a href="https://docs.pingcap.com/zh/tidb/v8.5/tiproxy-load-balance">TiProxy 支持多种负载均衡策略</a>(从 v8.2.0 开始引入)</li></ul>
8989
</td>
9090
</tr>
9191
<tr>

0 commit comments

Comments
 (0)