题记部分

一、数据类型对比

对应关系

(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数据类型对比的更多相关文章

  1. Oracle,sqlserver,mySQl的区别和联系:

    1.日期处理方式 2.对保留字和关键字的处理方式: Oracle,sqlserver,mySQl的保留字不可以用作列字段,关键字可以,但他们对关键字的处理方式又不同: Oracle:关键字作为列时:用 ...

  2. oracle,sqlserver,mysql 命令行 开启、关闭所需要的服务

    ORACLE需要开启的服务   需要启动的服务:   口令: 启动Oracle 11g服务: (下面的可以作为bat 脚本,直接运行便可以不用去自己去启动和关闭服务了.) @echo off @ EC ...

  3. oracle,sqlserver,mysql常见数据库jdbc连接

    发现JDBC连接字符串总是容易忘记,特此整理一下常用的几种数据的连接 ORACLE: /** * ORACLE * */ public static Connection getOracleConne ...

  4. hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

    hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.d ...

  5. oracle sqlserver mysql数据库分页

    1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM tabl ...

  6. oracle sqlserver mysql 通过sql查看表及字段注释

    oracle: SELECT A.TABLE_NAME,A.COMMENTS,B.COLUMN_NAME,B.COMMENTS FROM USER_TAB_COMMENTS A,USER_COL_CO ...

  7. mysql数据类型和Java数据类型对比一览

    MySQL Types to Java Types for ResultSet.getObject() MySQL Type Name Return value ofGetColumnClassNam ...

  8. SQL奇技淫巧(01):给查出的数据排序编个号【row_number() over(order by c)】(mysql,db2,oracle,sqlserver通用)

    我们天天都在跟数据库打交道,写下的代码不计其数,写下的SQL更是可以绕地球几圈.这里收集关于SQL的神奇语法及用法,虽然你可能没有用过,但这些SQL却可以在关键的时候,派上用场. 我对SQL语句的理解 ...

  9. java、mysql、oracle、pgsql数据类型对应关系

    看不清 请 Ctrl+鼠标滚轮     放大页面

  10. mysql 和 Oracle 数据类型对照

    MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...

随机推荐

  1. Jackson ObjectMapper - 指定对象属性的序列化顺序

    注释很有用,但在任何地方应用起来都会很痛苦.您可以配置整个 ObjectMapper 以这种方式工作 当前杰克逊版本: objectMapper.configure(MapperFeature.SOR ...

  2. vue3 路由的使用

    添加一个router.js 配置文件 import { createRouter, createWebHistory } from 'vue-router' createRouter:用来创建 路由 ...

  3. error LNK2038: 检测到“_MSC_VER”的不匹配项问题

    _MSC_VER这个相当于做了宏的检测 _MSC_VER 定义编译器的版本. 一些编译器版本的_MSC_VER值:MS VC++ 14.0 _MSC_VER = 1900 vs2015MS VC++ ...

  4. Spring+Vue+ElementUI的前后端分离开发项目中,前端向后端发送请求,后端返回错误:Cannot deserialize instance of `java.util.LinkedHashMap` out of START_ARRAY token

    问题描述: Spring+Vue+ElementUI的前后端分离开发项目中,前端向后端发送请求,后端返回错误:Cannot deserialize instance of `java.util.Lin ...

  5. 即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术

    本文由融云技术团队分享,原题"互联网通信安全之端到端加密技术",内容有修订和改动. 1.引言 随着移动互联网的普及,IM即时通讯类应用几乎替代了传统运营商的电话.短信等功能.得益于 ...

  6. Chrome谷歌浏览器自动升级后页面字体过小

    谷歌浏览器使用一段时间后系统自动升级后页面字体突然变小,如何进行设置呢,如下 1.在页面右上角选择浏览器设置-外观-自定义字体-设置字号等其他需要配置的参数即可

  7. Solution Set - “伸手向着拉格朗日点作别”

    目录 0.「UR #9」「UOJ #133」电路手动分析 1.「UR #9」「UOJ #134」App 管理器 2.「UR #10」「UOJ #152」汉诺塔 3.「UNR #2」「UOJ #312」 ...

  8. Diary & Solution Set - 多校度假

    目录 \(\mathscr{Summary}\sim6.14\) \(\mathscr{Contest}\) \((3/3)\) \(\mathscr{A}.\) 区间第 \(k\) 小 \(\mat ...

  9. ClickHouse-2接口

    客户端 ClickHouse提供了两个网络接口(两个都可以选择包装在TLS中以增加安全性): HTTP, 包含文档,易于使用. Native TCP,简单,方便使用. 在大多数情况下,建议使用适当的工 ...

  10. weixueyuan-Nginx编译及部署1

    https://www.weixueyuan.net/nginx/ Nginx是什么 Nginx(发音同"engine x")是一个高性能的反向代理和 Web 服务器软件,最初是由 ...