一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型 二. Mysql varchar VS Oracle varchar2 mysql和oracle做数据同…
一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1.如果是整型,那么mysql中,用int即可:2.如果是带小数位的,那么mysql中可用numeric类型. 注:mysql中没有varchar2(10)和number这两个数据类型 二. Mysql varchar VS Oracle varchar2 mysql和oracle做数据同…
oracle判断是否为null nvl(参数1,参数2) :如果参数1为null则返回参数2,否则返回参数1 mysql判断是否为null ifnull(参数1,参数2) :如果参数1为null则返回参数2,否则返回参数1 select nvl(null,'空值')  from dual  结果:空值 select nvl(0,'空值')  from dual  结果:0 在oracle和mysql中 这两个函数的用法一样.…
在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 MySql的简单语法,常用,却不容易记住.当然,这些Sql语法在各数据库中基本通用.下面列出: 1.增加一个字段 alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空alter table user add C…
mysql中tinyint.smallint.int和bigint类型的用法区别: 在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127.无符号的范围是0到255(见官方<MySQL 5.1参考手册> Tinyint占用1字节的存储空间,即8位(bit).那么Tinyint的取值范围怎么来的呢?我们先看无符号的情况.无符号的最小值即全部8位(bit)都为0,换算成十进制就是0,所以无符号的Tinyint的最小值为0.无符号的最大值即全部8bit都为1,11111…
Mysql中的分页 物理分页 •在sql查询时,从数据库只检索分页需要的数据 •通常不同的数据库有着不同的物理分页语句 •mysql物理分页,采用limit关键字 •例如:检索11-20条 select * from user limit 10,10 ; * 每次只查询10条记录.当点击下一页的时候,查询数据库,查询后10条. * 优点:如果数据量非常大,不会导致内存溢出. * 缺点:每次都与数据库进行交互. * 分页一般采用数据库的sql语句完成分页查询. * MYSQL分页:使用limit关…
oracle                  -->                 mysqlto_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y-%m-%d');to_date(sysdate,'yyyy-mm-dd')-->STR_TO_DATE(sysdate(),'%Y-%m-%d'); Oracle中的to_char相当于mysql中的date_format Oracle中的to_date相当于mysql中的ST…
SQL允许两个或者多个字段之间进行计算,字符串类型的字段也不例外.比如我们需要 以"工号+姓名"的方式在报表中显示一个员工的信息,那么就需要把工号和姓名两个字符 串类型的字段拼接计算:再 如 我们需要在报表中在每个员工的工号前增加"Old"这个文本. 这时候就需要我们对字符串类型的字段(包括字符串类型的常量字段)进行拼接.在不同的 数据库系统下的字符串拼接是有很大差异的,因此这里我们将讲解主流数据库下的字符串拼 接的差异. Mysql 在Java.C#等编程语言中字…
1.oracle和mysql通用方法 #round(字段1,小数位数) 四舍五入select round('11.123456',4);结果:11.1235 2.mysql的另外2种保留小数位数方法#convert(字段1,decimal(最大长度,小数位数)) 四舍五入select convert('11.123456',decimal(9,4));结果:11.1235 #cast(字段1 as decimal(最大长度,小数位数)) 四舍五入select cast('11.123456' a…
单精度浮点数用4字节(32bit)表示浮点数,采用IEEE754标准的计算机浮点数,在内部是用二进制表示的,如:7.22用32位二进制是表示不下的,所以就导致不精确了,存取会出现误差. mysql中float数据类型的问题总结: 对于单精度浮点数float:当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定. 建议:将float改成double或者decimal,两者的差别是double是双精度浮点计算,decimal是定点计算,会…
在本节中,我将首先介绍MYSQL++中的查询的几个简单例子用法,然后看一下mysqlpp::Query中的几个与查询相关的方法原型(重点关注返回值),最后对几个关键类型进行解释. 1. MYSQL++的查询实例 下面的两个例子分别是STORE(所有数据一次性从服务器拉到本地缓存)和USE(将数据一条一条从服务器拉到本地)的使用方式,其中STORE内部实质就是mysql_store( ),而USE实质就是调用了mysql_use( ). 说明,下面的例子虽然使用的都是最为基本的查询过程(即没有使用…
ORACLE: SELECT * FROM             (                  SELECT 表名.*, ROWNUM AS CON FROM 表名 WHERE ROWNUM <= 100 AND 其它查询条件 ORDER BY 排序条件              )WHERE CON >=10; MYSQL: select * from 表名 limit 10,100;…
参考文献: http://database.51cto.com/art/200803/67397.htm 正文 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value…
背景 许多使用MySQL的同学都会使用到varchar这个数据类型.初学者刚开始学习varchar时,一定记得varchar是个变长的类型这个知识点,所以很多初学者在设计表时,就会把varchar(X)的长度设置的非常长,目的也是为了保证以后有更长的数据存储时,能更好的兼容. 于是本来varchar(10)就可以满足当前的存储的长度需求了,改成了varchar(100). 那么疑问来了: 既然是变长类型,varchar(10)和varchar(100)有什么区别? 先举个例子:如果要存储'hel…
1.Oracle AND NAME LIKE '%'||#{name}||'%' 2.Mysql AND NAME LIKE "%"#{name}"%"…
oracle add_months(日期格式值 , 整数n)  当整数n=12时,代表一年,向后推迟一年,若n=-12代表回退一年 如 to_char(add_months(to_date('201801'),12),'yyyyMM' ) 结果:201901 to_char(add_months(to_date('201801'),-12),'yyyyMM')  结果:201701 mysql adddate(日期格式 ,INTERVAL  值n   时间类型) 值n:可正可负 时间类型: SE…
oracle拼接字符串 1.使用  '||' 或者 concat(参数1,参数2) select 'aa' || 'bb' || 'cc' from dual; 结果:aabbcc select concat('aa','bb') from dual; 结果:aabb 注意:oracle concat函数只支持2个参数的拼接 mysql拼接字符串 1.使用concat(参数1,参数2,....参数n) select concat('aaa','bbb','ccc') from dual; 结果:…
Oracle: 书写格式: (1)Select  substr(字段名(string) , 起始位置(int) , 截取长度(int)) 示例: selectsubstr('123456',0,3)as start0 from dual; selectsubstr('123456',1,3)as start1 from dual; selectsubstr('123456',2,3)as start2 from dual; 注意:起始位置从0和从1开始都是表示从字符串首位开始截取 (2) Sel…
数据库中存储了海量的数据,当查询时使用like,速度明显变慢.我在做项目时,发现使用内部函数INSTR,代替传统的LIKE方式查询,并且速度更快. INSTR()函数返回字符串中子字符串第一次出现的位置.如果在str中找不到子字符串,则INSTR()函数返回零(0).下面说明了INSTR函数的语法.INSTR(str,substr);    1INSTR函数接受两个参数:    str 是要搜索的字符串.    substr 是要搜索的子字符串. 查找用户名称name中包含a的用户,作用类似于L…
先来看下面的图片 声明字段是int类型的那一刻起,int就是占四个字节,一个字节8位,也就是4*8=32,可以表示的数字个数是2的32次方(2^32 = 4 294 967 296个数字). 4 294 967 296个数字也就是0~4 294 967 295,当然如果区分正负号的话所存的数字会比较小.…
字段:number  是integer类型    在表test中 select cast(number as char) as number from test; 或者convert()方法.因为转换的时候mysql不支持转换成varchar所有要转成char. /* 比如将123转换为char类型 */ SELECT CAST(123 AS CHAR); /* 或者使用concat方法 */ SELECT CONCAT(123,'');…
在javaweb开发过程中,难免会使用日期类型,在持久化时java的日期格式可以是String,Date.mysql格式可以是varchar,datetime.他们之间如何进行相互转化? 1 java 和 mysql 都定义为字符串类型保存日期,此时不用转化 2 java 和 mysql 都定义为 Date 和 Datetime 类型,也不用相互转化.返回前端时可以使用 simpledateformat 进行格式化 3 java 保存为 date,mysql 保存为 varchar,java b…
select FROM_UNIXTIME(1464973385.641,'%Y-%m-%d %H:%i:%s'); select UNIX_TIMESTAMP('2016-06-04 01:03:05'); 结果: FROM_UNIXTIME(1464973385.641,'%Y-%m-%d %H:%i:%s') :: UNIX_TIMESTAMP('2016-06-04 01:03:05')…
date_format( ) 转换格式 : 格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小…
1.在mysql中事务默认是自动提交的,只有设置autocommit为0的时候,才用自己commit:(提到commit不要忘了rollback哦,回滚)2.但是在oracle中必须自己commit:不然就只能结束这次事务之后才会提交.3.在sql server中go命名在我的理解和commit命令相同,就是为了完成一个事务提交的: 4.对于分页,mysql使用limit.sql server使用top.oracle使用ROWNUM等伪列: 5.oracle中的varchar2和varchar相…
Oracle和MySQL分组查询GROUP BY 真题1.Oracle和MySQL中的分组(GROUP BY)有什么区别? 答案:Oracle对于GROUP BY是严格的,所有要SELECT出来的字段必须在GROUP BY后边出现,否则会报错:“ORA-00979: not a GROUP BY expression”.而MySQL则不同,如果SELECT出来的字段在GROUP BY后面没有出现,那么会随机取出一个值,而这样查询出来的数据不准确,语义也不明确.所以,作者建议在写SQL语句的时候,…
mysql中有很多的 保留字, 也叫关键字, 你在使用 数据库中的任何东西, 都最好是 避开这些关键字/保留字, 包括 数据库名, 表名, 字段名, 函数名, 存储过程名. 这些关键字包括: mysql所谓的 ERROR1064错误, 就是语法错误, 语法错误只有两种情况: 要么是单词写错了. 是纯粹的 literal书写错误, 要么是第二种情况, 使用了mysql的保留关键字. 比如在定义函数的 时候, 最容易将 函数的 名称命名为 add. 而add恰好是mysql的关键字, 它是允许你 创…
比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢? EX…
原文链接:https://www.cnblogs.com/qlqwjy/p/8598091.html 比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是Custom…
官网:https://dev.mysql.com/doc/refman/5.0/en/lock-tables.html LOCK TABLES tbl_name [[AS] alias] lock_type [, tbl_name [[AS] alias] lock_type] ... lock_type: READ [LOCAL] | [LOW_PRIORITY] WRITE UNLOCK TABLES MySQL enables client sessions to acquire tabl…