豆子博客
2015年7月23日星期四
一条sql实现两个时间相减后显示天数-小时-分钟-秒
朋友遇到这样的问题,让我帮忙写的一个sql,其实很简单,贴出了供大家参考:
with minus_sec as (select
ceil((to_date('2011/02/24 10:00:00','yyyy/mm/dd hh24:mi:ss')-
to_date('2011/1/29 22:30:00','yyyy/mm/dd hh24:mi:ss'))*24*60*60) sec
from dual) ---把两个日期相减转换成秒数,由于两个日期相减默认是天数,小于一天的用小数表示,所以为了准确转换用ceil函数取比其大的最小整数。
select
trunc(sec/(60*60*24)) days, ---除以1天的秒数取整就得到天数
trunc(mod(sec,60*60*24)/(60*60)) hours, --针对一天的秒数取模 得到的秒数就是不足一天的秒数,然后除以3600取整得到小时
trunc(mod(sec,60*60)/60) mis, ---针对一小时秒数取模,得到的就是不足一小时的秒数,然后除以60取整得到分钟
mod(sec,60) sec --针对一分钟的秒数取模,得到的是不足一分钟的秒数,得到秒
from minus_sec;
Oracle PL/SQL方法实现四舍六入五双
/*
"四舍六入五双" ---统计实现
名词解释:
四舍六入五双 规则如下:
1. 被修约的数字小于5时,该数字舍去;
2. 被修约的数字大于5时,则进位;
3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,
若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后
面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。
举例:
9.8249=9.82, 9.82671=9.83
9.8350=9.84, 9.8351 =9.84
9.8250=9.82, 9.82501=9.83
四舍六入五双 在统计学方面是比四舍五如更为科学的统计方法,特别是做大量数据统计时。
"四舍六入五双" ---统计实现
名词解释:
四舍六入五双 规则如下:
1. 被修约的数字小于5时,该数字舍去;
2. 被修约的数字大于5时,则进位;
3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,
若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后
面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。
举例:
9.8249=9.82, 9.82671=9.83
9.8350=9.84, 9.8351 =9.84
9.8250=9.82, 9.82501=9.83
四舍六入五双 在统计学方面是比四舍五如更为科学的统计方法,特别是做大量数据统计时。
2015年7月20日星期一
oracle 字符串字段分成多个字段后创建视图
/**
情景:某表有一字段为字符串类型,字段中有1~2个英文分号或者中文的分号
现要根据该字段的分号把该字段划分为2~3个字段,并组成与表中其他字段组成视图。
解决方法:
1)创建table类型,table记录类型跟视图记录类型一样,然后创建返回该table类型的方法。
方法用于处理str字段,将其分成多个字段,然后生成table记录类型的数据,并填充table,
最后将数据返回。
创建视图时直接根据方法返回的table来创建视图。
2)直接用select创建视图,配合case when。
个人推荐使用方法2.
**/
-----------------------------------创建例子用表------------------
create table test_3(
V_NAME VARCHAR2( 10),
STR VARCHAR2(100 )
);
2015年4月5日星期日
CentOS 7 静默安装Oracle 11g
安装环境:
DEFROUTE=yes #默认路由
ONBOOT=yes #开启启动,默认开机网卡不会启动。
IPADDR=192.168.1.22 #IP地址
GATEWAY=192.168.1.1 #网关
NETMASK=255.255.255.0 #子网掩码
DNS1=202.96.128.68 #DNS1
DNS2=192.168.1.1 #DNS2
操作系统: CentOS 7
oracle版本: Oracle 11g R2
一、安装前准备
关闭selinux和防火墙:
禁止selinux:
#vi /etc/selinux/config
把SELINUX=enforcing 改成 SELINUX=disable 保存退出
CentOS关闭防火墙并禁止随机启动:
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
设置网络静态IP:
#vi /etc/sysconfig/network-script/ifcfg-enoXXXXXXXX #该处XXXX为数字,CentOS7后网卡不再使用ethX 文件为设置文件。
改成类似以下内容:
TYPE=Ethernet
BOOTPROTO=static #设为静态IPDEFROUTE=yes #默认路由
ONBOOT=yes #开启启动,默认开机网卡不会启动。
IPADDR=192.168.1.22 #IP地址
GATEWAY=192.168.1.1 #网关
NETMASK=255.255.255.0 #子网掩码
DNS1=202.96.128.68 #DNS1
DNS2=192.168.1.1 #DNS2
更改hostname :
#vi /etc/hostname
改变内容为,自己设定的hostname,如myserver等。
更改/etc/hosts文件,更改hosts文件方便:
把127.0.0.1 localhost.domain localhost改成:
127.0.0.1 myserver localhost.domain localhost
192.168.1.22 myserver
用户组以及用户创建:
创建dba用户组合oinstall用户组:
#group add dba
#group add oinstall
创建oracle用户:
#useradd -g oinstall -G dba oracle
设置密码:
#passwd oracle
2014年12月20日星期六
2014年4月6日星期日
普通机房建设
通机房建设(不含房屋建造)的内容如上图示,包含机房装修、机房配电、UPS、防雷接地、综合布线、空调、机柜、环境监控、消防、门禁等10个系统。
以下细分各个系统来说说,具体的工作。
1、机房装修:
机房装修主要有顶棚装修、墙面装修、窗户装修、地面装修、照明系统、防火门的安装这几块构成。
顶棚装修,有些机房需要安装天花板的(这类机房一般是下走线,也就是电缆以及网线等走地面线槽。),有些不需要安装的(此类一般为上走线,线缆走机柜上方线架。)。 无论是否有天花板,房顶都需要刷防尘漆,最好刷2~3遍,每次刷之前要等上一次的漆干后才能进行。
2014年4月4日星期五
VLAN 间通信的两种方式
这里介绍VLAN 间通信的两种方式:
1、单臂路由
2、三层交换机SVI
方式一:拓扑图如下:
实验中创建两个VLAN vlan 100 名称为caiwu和vlan 200 名称为 jishu,SW1作为vtp server,具体配置如下:
SW1配置:
VTP配置:
SW1(config)#vtp mode server
SW1(config)#vtp version 2
SW1(config)#vtp domain vtp-test
SW1(config)#vtp password 123
订阅:
博文 (Atom)


