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

统一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.mfbz.cn/a/567831.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

翻页电子图书制作小技巧分享给你

当今社会,二维码已经成为了信息传递的重要方式之一,其在电子商务、广告营销、活动推广等领域广泛应用。而如何将二维码巧妙地融入电子画册中,制作出高端、具有吸引力的作品,成为了许多设计师和营销人员关注的焦点 但是很多人却不知…

ABeam×StartUp丨蓝因机器人访问ABeam旗下德硕管理咨询(深圳)新创部门,展开合作交流

近日,深圳蓝因机器人科技有限公司(以下简称“蓝因机器人”)创始人陈卜铭先生来访ABeam旗下德硕管理咨询(深圳)有限公司(以下简称“ABeam-SZ”),与新创部门展开合作交流。 交流中&am…

六西格玛管理培训:我的转变与成长之旅

4月初,我参与了天行健咨询的六西格玛管理培训,这次经历不仅极大地提升了我的工作效率,还帮助我在工作中实现了卓越。现在,我想分享一些我在这次培训中的学习心得和实践经验,希望能对正在寻求提升绩效和卓越之路的大家有…

【无线通信】OQPSK

调制 sps 8; RolloffFactor 0.2; FilterSpanInSymbols 10;bits randi([0, 1], 224*8, 1); % 1792symbols bits*2 - 1; % 1792 re -symbols(2:2:end); % 896 im -symbols(1:2:end); % 896pFilterTx comm.RaisedCosineTransmitFilter(...Shape, Square root, ...Rollo…

MySQL主从结构搭建

说明:本文介绍如何搭建MySQL主从结构; 原理 主从复制原理如下: (1)master数据写入,更新binlog; (2)master创建一个dump线程向slave推送binlog; &#xff…

GoJudge环境部署本地调用云服务器部署go-judge判题机详细部署教程go-judge多语言支持

前言 本文基于go-judge项目搭建,由于go-judge官网项目GitHub - criyle/go-judge: Sandbox Server in REST / gRPC API. Based on Linux container technologies.,资料太少,而且只给了C语言的调用样例,无法知道其他常见语言比如&am…

Python基础06-日期和时间的操作方法

在Python中处理日期和时间是编程中常见的需求,无论是安排任务、记录日志还是分析数据。本文将介绍如何在Python中获取当前日期和时间、创建特定日期和时间、格式化日期和时间、解析字符串中的日期和时间、使用时间差、比较日期和时间、从日期/时间中提取组件、处理时…

uni-app开发canvas绘图画画,如何实现后退功能

在uni-app中使用canvas进行绘图时,实现后退功能通常意味着你需要保存用户的每一步操作,然后提供一个机制来撤销最近的步骤。下面是一个基本的实现思路: 保存绘图步骤: 每当用户在canvas上绘制时(比如通过touchMove事件…

出海不出局 | 小游戏引爆高线市场,新竞争态势下的应用出海攻略

出海小游戏,出息了! 根据 Sensor Tower 近期发布的“2024 年 3 月中国手游收入 TOP30”榜单,出海小游戏在榜单中成了亮眼的存在。 其中,《菇勇者传说》3 月海外收入环比增长 63%,斩获出海手游收入增长冠军&#xff0c…

学习经验分享【33】YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR 基于 Pyside6 的图形化界面

大论文可以写两章关于算法创新模型,最后一章可以写对前两章提出方法进行封装,利用PyQT5搭建YOLOv5可视化界面,并打包成exe程序,构建检测平台实现简单的应用。用来凑大论文的字数和工作量,是简单又快速的方法&#xff0…

《龙之谷》游戏(客户端+服务端+视频架设教程+工具),本人收集的8个版本,云盘下载

龙之谷这个游戏本人觉得挺好玩的。你们可以下载研究一下看看,有能力的话,可以提取服务端文件出来,做成外网,让大家一起玩。。。。 《龙之谷》游戏(客户端服务端视频架设教程工具),本人收集的8个…

WEB前端-笔记(三)

目录 一、事件 1.1类型 1.2对象 1.3页面加载事件 1.4滚动事件 1.5尺寸事件 1.6捕获&冒泡事件 1.7阻止表单提交 1.8全选案例 1.9事件委托 ​编辑 1.10client&offset 1.11换取元素的位置 1.12创建节点 1.13克隆节点 1.14删除节点 1.15setTimeout 1.16s…

【后端】PyCharm的安装指引与基础配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、PyCharm是什么二、PyCharm安装指引安装PyCharm社区版安装PyCharm专业版 三、配置PyCharm:四、总结 前言 随着开发语言及人工智能工具的普及&am…

MS1000TA超声波测量模拟前端

产品简述 MS1000TA 是一款超声波测量模拟前端芯片,广 泛应用于汽车工业和消费类电子。该芯片具有高度 的灵活性,发射脉冲个数、频率、增益及信号阈值 均可配置。同时,接收通道参数也可以灵活配置, 从而适用于不同尺寸容器、不…

Java——继承与组合

和继承类似, 组合也是一种表达类之间关系的方式, 也是能够达到代码重用的效果。组合并没有涉及到特殊的语法 (诸如 extends 这样的关键字), 仅仅是将一个类的实例作为另外一个类的字段。 继承表示对象之间是is-a的关系,比如:狗是动物,猫是动…

ROM修改进阶教程------安卓7_____安卓13去除签名验证操作步骤解析

同类博文: 安卓玩机搞机技巧综合资源-----修改rom 制作rom 解包rom的一些问题解析【二十一】_qcn改区域锁-CSDN博客 安卓系列机型rom修改。如果你删减了系统相关的app。那么严重会导致开机系统卡米 定屏等问题。这类一般都是系统签名验证导致的。而破解签名验证一般都是修改…

计算机java项目|springboot校园一卡通

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简…

【Linux】文件系统——那就浅聊一下吧

前言 在上一篇文件描述符详解中谈论的都是打开的文件,但是在我们的系统中不仅有打开的文件还有许多未打开的文件,那么这些未打开的文件又该如何理解呢?阅读完本篇文章相信你会得到答案。 如果觉得文章内容对你有所帮助的话,可以给博主一键三…

请编写函数fun,该函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+l到最后的字符移到字符串的前部。

本文收录于专栏:算法之翼 https://blog.csdn.net/weixin_52908342/category_10943144.html 订阅后本专栏全部文章可见。 本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法完整代码和详细的解析。 题干 请编…

PLSQL数据库

目录 什么是PLSQL数据库 PL数据库的实现方法 PL数据库的基本语法 1.作用 2.语法 3.赋值输出 4.引用 5.异常处理 6.if 判断 7.loop循环 8.while循环 9.for循环 10.游标 11.参数游标 12.索引 13.分区表 什么是PLSQL数据库 PL/SQL(Procedure Language/…