统一SQL 支持Oracle number/decimal/dec/numeric转换

embedded/2024/9/23 11:20:20/

统一SQL介绍

https://www.light-pg.com/docs/LTSQL/current/index.html

源和目标

数据库:Oracle

目标数据库:Postgresql,TDSQL-MySQL,达梦8,LightDB-Oracle

操作目标

通过统一SQL,将Oracle中的number/decimal/dec/numeric转换到目标库适配的数据类型。

统一SQL转换

Oracle2Posgresql

number类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numberdecimalnumber —– decimal
number(*)decimalnumber(*) —– decimal
number(*,0)decimal(38,0)number(*,0)—-decimal(38,0)
number(*,s)s > 0decimal(38,s)number(*,2)—-decimal(38,2)
number(p) / number(p,0)p>0空 或 0decimal(p)number(4,0)—–decimal(4)
number(p,s)p>0s>0decimal(p,s)number(10,2)—–decimal(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_number_t(c1 NUMBER,c2 NUMBER(*),c3 NUMBER(*,0),c4 NUMBER(*,2),c5 NUMBER(4),c6 NUMBER(4,0),c7 NUMBER(10,2));-- 转换后PostgreSQL SQL:
CREATE TABLE unisql_number_t (c1 decimal,c2 decimal,c3 decimal(38,0),c4 decimal(38,2),c5 decimal(4),c6 decimal(4),c7 decimal(10,2))

decimal类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decimaldecimal(38,0)decimal —– decimal(38,0)
decimal(*)decimal(38,0)decimal(*) —– decimal(38,0)
decimal(*,0)decimal(38,0)decimal(*,0)—-decimal(38,0)
decimal(*,s)s > 0decimal(38,s)decimal(*,2)—-decimal(38,2)
decimal(p) / decimal(p,0)p>0空 或 0decimal(p)decimal(4,0)—–decimal(4)
decimal(p,s)p>0s>0decimal(p,s)decimal(10,2)—–decimal(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_decimal_t(c1 decimal,c2 decimal(*),c3 decimal(*,0),c4 decimal(*,2),c5 decimal(4),c6 decimal(4,0),c7 decimal(10,2));-- 转换后PostgreSQL SQL:
CREATE TABLE unisql_decimal_t (c1 decimal(38,0),c2 decimal(38,0),c3 decimal(38,0),c4 decimal(38,2),c5 decimal(4),c6 decimal(4),c7 decimal(10,2))

dec类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decdec(38,0)dec—– dec(38,0)
dec(*)dec(38,0)dec(*) —– dec(38,0)
dec(*,0)dec(38,0)dec(*,0)—-dec(38,0)
dec(*,s)s > 0dec(38,s)dec(*,2)—-dec(38,2)
dec(p) / dec(p,0)p>0空 或 0dec(p)dec(4,0)—–dec(4)
dec(p,s)p>0s>0dec(p,s)dec(10,2)—–dec(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_dec_t(c1 dec,c2 dec(*),c3 dec(*,0),c4 dec(*,2),c5 dec(4),c6 dec(4,0),c7 dec(10,2));-- 转换后PostgreSQL SQL:
CREATE TABLE unisql_dec_t (c1 dec(38,0),c2 dec(38,0),c3 dec(38,0),c4 dec(38,2),c5 dec(4),c6 dec(4),c7 dec(10,2))

numeric类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numericnumeric(38,0)numeric—– numeric(38,0)
numeric(*)numeric(38,0)numeric(*) —– numeric(38,0)
numeric(*,0)numeric(38,0)numeric(*,0)—-numeric(38,0)
numeric(*,s)s > 0numeric(38,s)numeric(*,2)—-numeric(38,2)
numeric(p) / numeric(p,0)p>0空 或 0numeric(p)numeric(4,0)—–numeric(4)
numeric(p,s)p>0s>0numeric(p,s)numeric(10,2)—–numeric(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_numeric_t(c1 numeric,c2 numeric(*),c3 numeric(*,0),c4 numeric(*,2),c5 numeric(4),c6 numeric(4,0),c7 numeric(10,2));-- 转换后PostgreSQL SQL:
CREATE TABLE unisql_numeric_t (c1 numeric(38,0),c2 numeric(38,0),c3 numeric(38,0),c4 numeric(38,2),c5 numeric(4),c6 numeric(4),c7 numeric(10,2))

备注:

在Oracle中,对于数据类型NUMBER,DECIMAL,DEC,NUMERIC的精度标度范围:

  • 精度范围(p):1~38

  • 标度范围(s):-84~127

统一SQL转换时支持的精度标度范围如下(且p>=s):

  • 精度范围(p):1~38

  • 标度范围(s):0~38

  • 在使用上述数据类型时,请确保数据类型精度标度范围在支持范围内。

  • 对于目标库数据类型无法处理的数据长度,在运行时会报错。

  • 在处理数字类型数据时,源库和目标库会存在截取或四舍五入的情况,可能会导致精度的损失(参考备注示例内容)

  • 对于decimal/dec/numeric,decimal/dec/numeric(*),number/decimal/dec/numeric(,0),number/decimal/dec/numeric(,s)转换到目标库后默认精度(p=38),对于超过38位的数据,在目标库执行将报错,此种情况下请谨慎使用。

Oracle2TDSQL-MySQL

number类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numberdecimalnumber —– decimal
number(*)decimalnumber(*) —– decimal
number(*,0)decimal(38,0)number(*,0)—-decimal(38,0)
number(*,s)s > 0decimal(38,s)number(*,2)—-decimal(38,2)
number(p) / number(p,0)p>0空 或 0decimal(p)number(4,0)—–decimal(4)
number(p,s)p>0s>0decimal(p,s)number(10,2)—–decimal(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_number_t(c1 NUMBER,c2 NUMBER(*),c3 NUMBER(*,0),c4 NUMBER(*,2),c5 NUMBER(4),c6 NUMBER(4,0),c7 NUMBER(10,2));-- 转换后TDSQL-MySQL:
CREATE TABLE unisql_number_t (c1 decimal,c2 decimal,c3 decimal(38,0),c4 decimal(38,2),c5 decimal(4),c6 decimal(4),c7 decimal(10,2))

decimal类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decimaldecimal(38,0)decimal —– decimal(38,0)
decimal(*)decimal(38,0)decimal(*) —– decimal(38,0)
decimal(*,0)decimal(38,0)decimal(*,0)—-decimal(38,0)
decimal(*,s)s > 0decimal(38,s)decimal(*,2)—-decimal(38,2)
decimal(p) / decimal(p,0)p>0空 或 0decimal(p)decimal(4,0)—–decimal(4)
decimal(p,s)p>0s>0decimal(p,s)decimal(10,2)—–decimal(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_decimal_t(c1 decimal,c2 decimal(*),c3 decimal(*,0),c4 decimal(*,2),c5 decimal(4),c6 decimal(4,0),c7 decimal(10,2));-- 转换后TDSQL-MySQL:
CREATE TABLE unisql_decimal_t (c1 decimal(38,0),c2 decimal(38,0),c3 decimal(38,0),c4 decimal(38,2),c5 decimal(4),c6 decimal(4),c7 decimal(10,2))

dec类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decdec(38,0)dec—– dec(38,0)
dec(*)dec(38,0)dec(*) —– dec(38,0)
dec(*,0)dec(38,0)dec(*,0)—-dec(38,0)
dec(*,s)s > 0dec(38,s)dec(*,2)—-dec(38,2)
dec(p) / dec(p,0)p>0空 或 0dec(p)dec(4,0)—–dec(4)
dec(p,s)p>0s>0dec(p,s)dec(10,2)—–dec(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_dec_t(c1 dec,c2 dec(*),c3 dec(*,0),c4 dec(*,2),c5 dec(4),c6 dec(4,0),c7 dec(10,2));-- 转换后TDSQL-MySQL:
CREATE TABLE unisql_dec_t (c1 dec(38,0),c2 dec(38,0),c3 dec(38,0),c4 dec(38,2),c5 dec(4),c6 dec(4),c7 dec(10,2))

numeric类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numericnumeric(38,0)numeric—– numeric(38,0)
numeric(*)numeric(38,0)numeric(*) —– numeric(38,0)
numeric(*,0)numeric(38,0)numeric(*,0)—-numeric(38,0)
numeric(*,s)s > 0numeric(38,s)numeric(*,2)—-numeric(38,2)
numeric(p) / numeric(p,0)p>0空 或 0numeric(p)numeric(4,0)—–numeric(4)
numeric(p,s)p>0s>0numeric(p,s)numeric(10,2)—–numeric(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_numeric_t(c1 numeric,c2 numeric(*),c3 numeric(*,0),c4 numeric(*,2),c5 numeric(4),c6 numeric(4,0),c7 numeric(10,2));-- 转换后TDSQL-MySQL:
CREATE TABLE unisql_numeric_t (c1 numeric(38,0),c2 numeric(38,0),c3 numeric(38,0),c4 numeric(38,2),c5 numeric(4),c6 numeric(4),c7 numeric(10,2))

备注:

在Oracle中,对于数据类型NUMBER,DECIMAL,DEC,NUMERIC的精度标度范围:

  • 精度范围(p):1~38

  • 标度范围(s):-84~127

统一SQL转换时支持的精度标度范围如下(且p>=s):

  • 精度范围(p):1~38

  • 标度范围(s):0~38

  • 在使用上述数据类型时,请确保数据类型精度标度范围在支持范围内。

  • 对于目标库数据类型无法处理的数据长度,在运行时会报错。

  • 在处理数字类型数据时,源库和目标库会存在截取或四舍五入的情况,可能会导致精度的损失(参考备注示例内容)。

  • 在TDSQL-MySQL中decimal默认可以处理的整数位为10位,对转换后是decimal且整数位超过10位时,在运行时会报错。推荐使用时根据需要指定精度和标度。

  • 对于decimal/dec/numeric,decimal/dec/numeric(*),number/decimal/dec/numeric(,0),number/decimal/dec/numeric(,s)转换到目标库后默认精度(p=38),对于超过38位的数据,在目标库执行将报错,此种情况下请谨慎使用。

Oracle2TDSQL-LightDB-Oracle

number类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numberdecimalnumber —– number
number(*)decimalnumber(*) —– number
number(*,0)decimal(38,0)number(*,0)—-number(38,0)
number(*,s)s > 0decimal(38,s)number(*,2)—-number(38,2)
number(p) / number(p,0)p>0空 或 0decimal(p)number(4,0)—–number(4)
number(p,s)p>0s>0decimal(p,s)number(10,2)—–number(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_number_t(c1 NUMBER,c2 NUMBER(*),c3 NUMBER(*,0),c4 NUMBER(*,2),c5 NUMBER(4),c6 NUMBER(4,0),c7 NUMBER(10,2));-- 转换后LightDB-Oracle SQL:
CREATE TABLE unisql_number_t (c1 number,c2 number,c3 number(38,0),c4 number(38,2),c5 number(4),c6 number(4),c7 number(10,2))

decimal类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decimaldecimal(38,0)decimal —– decimal(38,0)
decimal(*)decimal(38,0)decimal(*) —– decimal(38,0)
decimal(*,0)decimal(38,0)decimal(*,0)—-decimal(38,0)
decimal(*,s)s > 0decimal(38,s)decimal(*,2)—-decimal(38,2)
decimal(p) / decimal(p,0)p>0空 或 0decimal(p)decimal(4,0)—–decimal(4)
decimal(p,s)p>0s>0decimal(p,s)decimal(10,2)—–decimal(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_decimal_t(c1 decimal,c2 decimal(*),c3 decimal(*,0),c4 decimal(*,2),c5 decimal(4),c6 decimal(4,0),c7 decimal(10,2));-- 转换后LightDB-Oracle SQL:
CREATE TABLE unisql_decimal_t (c1 decimal(38,0),c2 decimal(38,0),c3 decimal(38,0),c4 decimal(38,2),c5 decimal(4),c6 decimal(4),c7 decimal(10,2))

dec类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decdec(38,0)dec—– dec(38,0)
dec(*)dec(38,0)dec(*) —– dec(38,0)
dec(*,0)dec(38,0)dec(*,0)—-dec(38,0)
dec(*,s)s > 0dec(38,s)dec(*,2)—-dec(38,2)
dec(p) / dec(p,0)p>0空 或 0dec(p)dec(4,0)—–dec(4)
dec(p,s)p>0s>0dec(p,s)dec(10,2)—–dec(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_dec_t(c1 dec,c2 dec(*),c3 dec(*,0),c4 dec(*,2),c5 dec(4),c6 dec(4,0),c7 dec(10,2));-- 转换后LightDB-Oracle SQL:
CREATE TABLE unisql_dec_t (c1 dec(38,0),c2 dec(38,0),c3 dec(38,0),c4 dec(38,2),c5 dec(4),c6 dec(4),c7 dec(10,2))

numeric类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numericnumeric(38,0)numeric—– numeric(38,0)
numeric(*)numeric(38,0)numeric(*) —– numeric(38,0)
numeric(*,0)numeric(38,0)numeric(*,0)—-numeric(38,0)
numeric(*,s)s > 0numeric(38,s)numeric(*,2)—-numeric(38,2)
numeric(p) / numeric(p,0)p>0空 或 0numeric(p)numeric(4,0)—–numeric(4)
numeric(p,s)p>0s>0numeric(p,s)numeric(10,2)—–numeric(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_numeric_t(c1 numeric,c2 numeric(*),c3 numeric(*,0),c4 numeric(*,2),c5 numeric(4),c6 numeric(4,0),c7 numeric(10,2));-- 转换后LightDB-Oracle SQL:
CREATE TABLE unisql_numeric_t (c1 numeric(38,0),c2 numeric(38,0),c3 numeric(38,0),c4 numeric(38,2),c5 numeric(4),c6 numeric(4),c7 numeric(10,2))

备注:

在Oracle中,对于数据类型NUMBER,DECIMAL,DEC,NUMERIC的精度标度范围:

  • 精度范围(p):1~38

  • 标度范围(s):-84~127

统一SQL转换时支持的精度标度范围如下(且p>=s):

  • 精度范围(p):1~38

  • 标度范围(s):0~38

  • 在使用上述数据类型时,请确保数据类型精度标度范围在支持范围内。

  • 对于目标库数据类型无法处理的数据长度,在运行时会报错。

  • 在处理数字类型数据时,源库和目标库会存在截取或四舍五入的情况,可能会导致精度的损失(参考备注示例内容)

  • 对于decimal/dec/numeric,decimal/dec/numeric(*),number/decimal/dec/numeric(,0),number/decimal/dec/numeric(,s)转换到目标库后默认精度(p=38),对于超过38位的数据,在目标库执行将报错,此种情况下请谨慎使用。

Oracle2TDSQL-达梦8

number类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numberdecimalnumber —– number
number(*)decimalnumber(*) —– number
number(*,0)decimal(38,0)number(*,0)—-number(38,0)
number(*,s)s > 0decimal(38,s)number(*,2)—-number(38,2)
number(p) / number(p,0)p>0空 或 0decimal(p)number(4,0)—–number(4)
number(p,s)p>0s>0decimal(p,s)number(10,2)—–number(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_number_t(c1 NUMBER,c2 NUMBER(*),c3 NUMBER(*,0),c4 NUMBER(*,2),c5 NUMBER(4),c6 NUMBER(4,0),c7 NUMBER(10,2));-- 转换后达梦 SQL:
CREATE TABLE unisql_number_t (c1 number,c2 number,c3 number(38,0),c4 number(38,2),c5 number(4),c6 number(4),c7 number(10,2))

decimal类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decimaldecimal(38,0)decimal —– decimal(38,0)
decimal(*)decimal(38,0)decimal(*) —– decimal(38,0)
decimal(*,0)decimal(38,0)decimal(*,0)—-decimal(38,0)
decimal(*,s)s > 0decimal(38,s)decimal(*,2)—-decimal(38,2)
decimal(p) / decimal(p,0)p>0空 或 0decimal(p)decimal(4,0)—–decimal(4)
decimal(p,s)p>0s>0decimal(p,s)decimal(10,2)—–decimal(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_decimal_t(c1 decimal,c2 decimal(*),c3 decimal(*,0),c4 decimal(*,2),c5 decimal(4),c6 decimal(4,0),c7 decimal(10,2));-- 转换后达梦 SQL:
CREATE TABLE unisql_decimal_t (c1 decimal(38,0),c2 decimal(38,0),c3 decimal(38,0),c4 decimal(38,2),c5 decimal(4),c6 decimal(4),c7 decimal(10,2))

dec类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
decdec(38,0)dec—– dec(38,0)
dec(*)dec(38,0)dec(*) —– dec(38,0)
dec(*,0)dec(38,0)dec(*,0)—-dec(38,0)
dec(*,s)s > 0dec(38,s)dec(*,2)—-dec(38,2)
dec(p) / dec(p,0)p>0空 或 0dec(p)dec(4,0)—–dec(4)
dec(p,s)p>0s>0dec(p,s)dec(10,2)—–dec(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_dec_t(c1 dec,c2 dec(*),c3 dec(*,0),c4 dec(*,2),c5 dec(4),c6 dec(4,0),c7 dec(10,2));-- 转换后达梦 SQL:
CREATE TABLE unisql_dec_t (c1 dec(38,0),c2 dec(38,0),c3 dec(38,0),c4 dec(38,2),c5 dec(4),c6 dec(4),c7 dec(10,2))

numeric类型

Oracle 数据类型精度(p)标度(s)转换后 PostgreSQL 数据类型示例
numericnumeric(38,0)numeric—– numeric(38,0)
numeric(*)numeric(38,0)numeric(*) —– numeric(38,0)
numeric(*,0)numeric(38,0)numeric(*,0)—-numeric(38,0)
numeric(*,s)s > 0numeric(38,s)numeric(*,2)—-numeric(38,2)
numeric(p) / numeric(p,0)p>0空 或 0numeric(p)numeric(4,0)—–numeric(4)
numeric(p,s)p>0s>0numeric(p,s)numeric(10,2)—–numeric(10,2)

使用案例:

-- 转换前Oracle SQL:
CREATE TABLE unisql_numeric_t(c1 numeric,c2 numeric(*),c3 numeric(*,0),c4 numeric(*,2),c5 numeric(4),c6 numeric(4,0),c7 numeric(10,2));-- 转换后达梦 SQL:
CREATE TABLE unisql_numeric_t (c1 numeric(38,0),c2 numeric(38,0),c3 numeric(38,0),c4 numeric(38,2),c5 numeric(4),c6 numeric(4),c7 numeric(10,2))

备注:

在Oracle中,对于数据类型NUMBER,DECIMAL,DEC,NUMERIC的精度标度范围:

  • 精度范围(p):1~38

  • 标度范围(s):-84~127

统一SQL转换时支持的精度标度范围如下(且p>=s):

  • 精度范围(p):1~38

  • 标度范围(s):0~38

  • 在使用上述数据类型时,请确保数据类型精度标度范围在支持范围内。

  • 对于目标库数据类型无法处理的数据长度,在运行时会报错。

  • 在处理数字类型数据时,源库和目标库会存在截取或四舍五入的情况,可能会导致精度的损失(参考备注示例内容)

  • 对于decimal/dec/numeric,decimal/dec/numeric(*),number/decimal/dec/numeric(,0),number/decimal/dec/numeric(,s)转换到目标库后默认精度(p=38),对于超过38位的数据,在目标库执行将报错,此种情况下请谨慎使用。


http://www.ppmy.cn/embedded/11778.html

相关文章

JRebel热部署SpringBoot+MyBatis-Plus实现不重启更新修改后MyBatis的XML文件

安装JRebel热部署插件 《JRebel插件安装教程》 《JRebel mybatisPlus extension下载Zip离线安装》 在线安装JRebel mybatisPlus extension 插件商店直接搜JRebel mybatisPlus extension pom.xml 引入依赖 <dependency><groupId>com.baomidou</groupId>…

反转二叉树(力扣226)

解题思路&#xff1a;用队列进行前序遍历的同时把节点的左节点和右节点交换 具体代码如下&#xff1a; class Solution { public:TreeNode* invertTree(TreeNode* root) {if (root NULL) return root;swap(root->left, root->right); // 中invertTree(root->left)…

AlgorithmDay16

day16 104二叉树的最大深度&#xff08;优先递归&#xff09; 深度&#xff1a;从根结点到最远叶子结点的最长路径的节点数。 class Solution { public:int maxDepth(TreeNode* root) {if(rootnullptr)return 0;int leftdepmaxDepth(root->left);//就是根节点的左子树 左…

【Image captioning】论文阅读九—Self-Distillation for Few-Shot Image Captioning_2022

摘要 大规模图像字幕数据集的开发成本高昂,而大量未配对的图像和文本语料库可能有助于减少手动注释的工作。在本文中,我们研究了只需要少量带注释的图像标题对的少样本图像标题问题。我们提出了一种基于集成的自蒸馏方法,允许使用不成对的图像和字幕来训练图像字幕模型。该…

DNS的背景工作原理和作用

1.背景: DNS的背景起源于20世纪60年代末的美国国防部高级研究计划局&#xff08;ARPA&#xff09;建立的试验性计算机网络ARPAnet。DNS&#xff0c;全称域名系统&#xff08;Domain Name System&#xff09;&#xff0c;是为了解决互联网上主机名与IP地址对应关系而发展起来的…

【MATLAB源码-第29期】基于matlab的MIMO,MISO,SIMO,SISO瑞利rayleigh信道容量对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. SISO&#xff08;单输入单输出&#xff09;&#xff1a; - SISO 是指在通信系统中&#xff0c;只有一个天线用于传输信号&#xff0c;也只有一个天线用于接收信号的情况。这是最简单的通信方式。 2. SIMO&#xff08;单…

CCF PTA 2023年5月C++富有的大壮

【问题描述】 给在一个神秘的国度&#xff0c;有一种多拿多得的疯狂游戏&#xff0c;某日大壮去参赛&#xff0c;在规定区域内里面有 N(N≤100) 堆金币&#xff0c;第i堆金币的总重量和总价值分别是mi,vi(1≤ mi,vi≤100)。大壮有一个承重量为T(T≤1000) 的背包&#xff0c;但…

QT c++ QWaitCondition 线程等待条件

本文描述&#xff0c;QT c QWaitCondition 线程等待条件&#xff0c;在文章后面列出了参考代码下载链接。 如果不用它&#xff0c;可能需要通过定时循环检查某个变量的值满足条件&#xff0c;执行相应的代码&#xff0c;程序空跑&#xff0c;占用CPU资源。 而且定时循环并不…