MySQL - [17] Oracle、SQLServer、MySQL数据类型对比
题记部分
一、数据类型对比

对应关系
(1)整数类型
Oracle的NUMBER(*,0) 对应 SQL Server的INT 和 MySQL的INT
Oracle的BIGINT 可能需要映射到SQL Server的BIGINT 和 MySQL的BIGINT
(2)浮点数类型
Oracle的BINARY_FLOAT/BINARY_DOUBLE 对应 SQL Server的FLOAT 和 MySQL的DOUBLE
(3)字符串类型
Oracle的VARCHAR2 对应 SQL Server的VARCHAR 和 MySQL的VARCHAR
Oracle的CLOB 对应 SQL Server的NVARCHAR(MAX) 和 MySQL的LONGTEXT
(4)日期时间类型
Oracle的DATE/TIMESTAMP 对应 SQL Server的DATETIME/DATETIME2 和 MySQL的DATETIME/TIMESTAMP
(5)布尔类型
Oracle没有直接的布尔类型,但可以使用TINYINT(1) 或 NUMBER(1) 来对应 SQL Server的BIT 和 MySQL的BOOLEAN/TINYINT(1)
二、相对而言
1、在mysql中如果字段数据类型为varchar(30),那么在Oracle中是?
varchar2(60)
2、varchar和varchar2的区别?
在MySQL中,
VARCHAR(30)意味着该字段可以存储最多30个字符,每个字符的长度通常是1到4个字节,具体取决于所使用的字符集。例如,在使用UTF-8编码时,大多数字符占3个字节,而某些特殊字符(如表情符号)可能占用4个字节。然而,在Oracle中,VARCHAR2类型同样用来存储可变长度的字符串,但是Oracle中的字符存储方式略有不同。Oracle默认使用的是内部的多字节字符集,这可能会影响字符的实际存储大小。如果在Oracle中使用的是单字节字符集,那么
VARCHAR2(30 BYTE)将允许你存储最多30个字节的数据,但这通常不足以存储30个非ASCII字符,因为非ASCII字符可能需要更多的字节来表示。当从MySQL迁移到Oracle时,如果你的字符串包含的是单字节字符(如ASCII),那么
VARCHAR2(30 BYTE)可能就足够了。但是,如果包含多字节字符(如UTF-8编码下的汉字或其他语言字符),为了安全起见,你可能需要增加VARCHAR2的长度。一个常用的规则是在Oracle中将VARCHAR2的长度设置为MySQL中VARCHAR长度的两倍,以确保可以存储所有可能的多字节字符。因此,对于MySQL中的
VARCHAR(30),在Oracle中,你可以选择使用VARCHAR2(60 BYTE)来确保能够存储相同数量的多字节字符。但是,如果确定字符集中每个字符不会超过3字节,那么使用VARCHAR2(90 BYTE)会更保险一些。如果Oracle数据库使用的是字符模式(CHAR),那么可以指定VARCHAR2(30 CHAR),这将基于字符计数而非字节计数。最后,如果你不确定具体的字符集或字符长度需求,最安全的方法是增加目标字段的长度,例如使用
VARCHAR2(100 BYTE)或更高,以避免任何潜在的数据截断问题。
3、varchar和varchar2可以设置的最大长度是?
— 业精于勤荒于嬉,行成于思毁于随 —
MySQL - [17] Oracle、SQLServer、MySQL数据类型对比的更多相关文章
- Oracle,sqlserver,mySQl的区别和联系:
1.日期处理方式 2.对保留字和关键字的处理方式: Oracle,sqlserver,mySQl的保留字不可以用作列字段,关键字可以,但他们对关键字的处理方式又不同: Oracle:关键字作为列时:用 ...
- oracle,sqlserver,mysql 命令行 开启、关闭所需要的服务
ORACLE需要开启的服务 需要启动的服务: 口令: 启动Oracle 11g服务: (下面的可以作为bat 脚本,直接运行便可以不用去自己去启动和关闭服务了.) @echo off @ EC ...
- oracle,sqlserver,mysql常见数据库jdbc连接
发现JDBC连接字符串总是容易忘记,特此整理一下常用的几种数据的连接 ORACLE: /** * ORACLE * */ public static Connection getOracleConne ...
- hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)
hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.d ...
- oracle sqlserver mysql数据库分页
1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM tabl ...
- oracle sqlserver mysql 通过sql查看表及字段注释
oracle: SELECT A.TABLE_NAME,A.COMMENTS,B.COLUMN_NAME,B.COMMENTS FROM USER_TAB_COMMENTS A,USER_COL_CO ...
- mysql数据类型和Java数据类型对比一览
MySQL Types to Java Types for ResultSet.getObject() MySQL Type Name Return value ofGetColumnClassNam ...
- SQL奇技淫巧(01):给查出的数据排序编个号【row_number() over(order by c)】(mysql,db2,oracle,sqlserver通用)
我们天天都在跟数据库打交道,写下的代码不计其数,写下的SQL更是可以绕地球几圈.这里收集关于SQL的神奇语法及用法,虽然你可能没有用过,但这些SQL却可以在关键的时候,派上用场. 我对SQL语句的理解 ...
- java、mysql、oracle、pgsql数据类型对应关系
看不清 请 Ctrl+鼠标滚轮 放大页面
- mysql 和 Oracle 数据类型对照
MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...
随机推荐
- 技术实践|Redis基础知识及集群搭建(下)
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.本篇文章围绕Redis基础知识及集群搭建相关内容进行了分享 ...
- shell中字符串比较和模糊比较说明
shell字符串比较说明 1 完全比较方法(完全匹配) if [ "$soure" == "$dest" ]; then echo "is ==&qu ...
- Qt编写物联网管理平台46-云端数据同步
一.前言 在上一篇文章说的采集数据转发的基础上,针对方案一还做了云端数据同步功能,满足各式各样的用户需求.云端数据库同步,相当于把本地采集到的数据实时存储到云端,至于这些记录到了云端后什么用途,客户端 ...
- Qt编写可视化大屏电子看板系统24-模块2当月计划
一.前言 延续分层模块化的设计思路,当月计划模块主要包括模具达成率.零件达成率.零件数.每日工序达成数5个子模块,其中模具达成率采用自定义控件环形图展示,比如计划多少达成多少,达成作为进度:零件达成率 ...
- IM技术分享:万人群聊消息投递方案的思考和实践
本文由融云技术团队原创分享,原题"技术实践丨万人群聊的消息分发控速方案",为使文章更好理解,内容有修订. 1.引言 传统意义上的IM群聊,通常都是像微信这样的500人群,或者QQ的 ...
- DVWA靶场File Upload(文件上传) 漏洞所有级别通关教程及源码审计
文件上传 文件上传漏洞是由于对上传文件的内.类型没有做严格的过滤.检查,使得攻击者可以通过上传木马文件获取服务器的webshell文件 low 上传一个php文件,上传成功,并且可以在WWW\DVWA ...
- Github + Jekyll 搭建项目wiki
网站托管 创建新仓库 创建以自己名字为前缀, .github.io为后缀的仓库 在仓库的Settings中的Pages里设置Build and deployment为Github Actio ...
- Ellyn-Golang调用级覆盖率&方法调用链插桩采集方案
词语解释 Ellyn要解决什么问题? 在应用程序并行执行的情况下,精确获取单个用例.流量.单元测试走过的方法链(有向图).出入参数.行覆盖等运行时数据,经过一定的加工之后,应用在覆盖率.影响面评估.流 ...
- Zookeeper的原理和架构设计,以及应用场景
什么是 Zookeeper Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如: 统一命名服务 状态同步服务 集群 ...
- js五子棋效果
任务分解 一.绘制棋盘 二.绑定事件 1.先计算出需要绘制棋子的坐标 即将来绘制的棋子在哪个单元格内 2.绘制棋子 首先判断棋子是否存在 应该添加到哪个单元格内,分四种情况: 1.1 正常情况 1.2 ...