疑问: Oracle中的date要转换成
MysqL的datetime oracle的date是可以存储时分秒的
MysqL: varchar 是可变长字符串,不预先分配存储空间,长度不超过5000,如果存储长度大于此值,定义字段类型为text,独立出来一张表,用主键来对应
MysqL的存储过程
调用存储过程 需要CALL test(v_name,v_id);
MysqL与 oracle中的替换 1 Oracle: select sys_guid() from dual;
MysqL: SELECT REPLACE(UUID(),'-','') FROM DUAL; 因为
MysqL的UUID()
生成的序列中间有'-'需要进行替换一下。 2 to_char(sysdate,'yyyy-mm-dd')-->date_format(sysdate(),'%Y-%m-%d'); to_date(sysdate,'yyyy-mm-dd')-->STR_TO_DATE(sysdate(),'%Y-%m-%d');
MysqL: select DATE_FORMAT(STR_TO_DATE(20010101,'%Y%m%d'),'%Y%m') from dual SELECT DATE_FORMAT(STR_TO_DATE(201212,'%Y-%m-%d %H:%i:%s') from DUAL oracle: select to_char(to_date(20010101,'yyyy-mm-dd'),'yyyymm') from dual oracle中的to_number和
MysqL中的哪个
函数功能是一样或者差不多的? 用cast就可,但要填适当的类型,示例: select cast(11 as unsigned int) /*整型*/ select cast(11 as decimal(10,2)) /*浮点型*/ 把字符串转为日期格式 SELECT DATE_FORMAT('2011-09-20 08:30:45','%Y-%m-%d %H:%i:%S'); 把日期转为字符串格式 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S'); LPAD(str,len,padstr) 返回字符串str,左填充len个字符的长度的字符串padstr。如果str的长度大于len,则返回值被缩短至len个字符。
sql> SELECT LPAD('hi',4,'??'); +---------------------------------------------------------+ | LPAD('hi','??') | +---------------------------------------------------------+ | ??hi | +---------------------------------------------------------+ 1 row in set (0.00 sec) 3 sysdate 换成sysdate() 4 游标与声明必须放在begin后面
sql 语句中的 (+) 是什么意思? 在select语句中(+)指的是外连接,是连接
查询的一种
方法。 例:select t1.*,t2.* from dept t1,emp t2 where t1.deptno=t2.deptno(+); 其中:t1.deptno=t2.deptno(+)代表意思是,即使t2(emp表)中不存在匹配的记录,在t1(dept表)也
查询出来。 (+)就是连接 譬如 SELECT a.*,b.* from a(+) = b就是一个右连接,等同于select a.*,b.* from a right join b SELECT a.*,b.* from a = b(+)就是一个左连接,等同于select a.*,b.* from a left join b ":="是赋值语句 如: l_name :='sky';... "=" 是判断是否相等. 如: if 1=1 then... ":" 是变量绑定 如: if :P_NAME ='sky' then... 服务器与客户端都需要安装 安装以后 需要 把服务器的两个
文件拷贝过去 ora什么的 2-- 创建
用户 CREATE USER username identified BY password; -- DBA
用户授权 -- DBA: DBA是系统的最高权限,拥有全部特权,只有DBA才可以创建
数据库结构。 -- RESOURCE: 拥有Resource权限的
用户只可以创建实体,不可以创建
数据库结构。 -- CONNECT: 拥有Connect权限的
用户只可以
登录Oracle,不可以创建
数据库结构,不可以创建实体。 grant connect,resource,dba to username; 3 oracle dos
登录 sqlplus scott/tiger@jiuhua dos查看字符集 select userenv('language') from dual; 4 oracle 根据久华的oracle下载文档进行装配服务器与客户端 5需要将oracle服务期端的两个重要
文件 拷贝到客户端端 ora listenner 6 在pl
sql中的tools中 需要 将D:\soft\cilent\product\11.2.0\client_1 和D:\soft\cilent\product\11.2.0\client_1\bin\oci.dll 配置进去 注意是客户端的 之后就可以了 7 查看表的
数量select count(*) from user_tables; 启动监听 启动监听:lsnrctl start 8 普通
用户 以dba的权限
登录 sqlplus scott/tiger as sysdba 9 导入数据 imp zc/zc@jiuhua file=d:/zc_20170213.dmp full=y;(字符集社这什么的) 10 下午总结一下oracle (确实左括号的原因是程序写的有问题,语法没错 ,逻辑有错;存储过程无法把自己的字段改成自己没有的字段类型 例如无法把varchar(200)改成text在pl
sql中 ) VARCHAR2 VARCHAR2 INTEGER decimal(65,30) number(10) decimal(10)等价替换 number decimal(65,30) LONG longtext 11
sql 语句的执行顺序 from->table->join->on->where-group by->having>select 问题 1 导入的表 都没有索引 2 表名带日期是干什么的 不用导(存储过程
生成的 历史数据测试用的都可以不导 ,主键每个表必须有(有) ,索引只改zc开头 的就行)
MysqL 创建索引(注意没有单引号) ALTER TABLE `ZC_LSKPXX` ADD INDEX ZC_LSKPXX_ZT(zt); 转账 10 执行 一个
函数 select GET_LASTBMBH('000215') from dual 11
MysqL 将两个
查询到的结果拼在一起 两个完整的
sql语句之间
加上 union 11
查询表有多少张 select * from user_tables
查询有多少个视图 select view_name from user_views