文章结束给大家来个程序员笑话:[M]

oracle

date 括包时光和日期类型,括包年月日,小时,分钟,秒。这个经经常使用,相信大家都悉熟
timestamp 这个类型很确精,是确精到妙微的时光单位。指定精度的小数位,最多为9位,认默6位
timestamp with time zone 这个除了括包了timestamp的外,又有了时区。
timstamp with local time zone 这个类型不括包时区偏移量,由户用地当会话时区肯定。
interval year to month
interval day to second
timestamp可以通过to_timestamp_t转换到timestamp with time zone 
tz_offset可以看查时区的差移位
看查数据库时区:
SELECT dbtimezone FROM dual;
select sessiontimezone from dual;
SQL> select extract(year  from sysdate) from dual;--获得年份
EXTRACT(YEARFROMSYSDATE)
------------------------
2012
SQL> select extract(month from sysdate) from dual;--获得月份
EXTRACT(MONTHFROMSYSDATE)
-------------------------
9
SQL> select extract(day from sysdate) from dual;--获得日
EXTRACT(DAYFROMSYSDATE)
-----------------------
6

SQL> select from_tz(timestamp '2012-09-06 09:00:00','8:00') from dual; --timestamp转timestamp with time zone
FROM_TZ(TIMESTAMP'2012-09-0609:00:00','8:00')
---------------------------------------------------------------------------
06-SEP-12 09.00.00.000000000 AM +08:00

SQL> create table test_zone
2    (timestamp_dt TIMESTAMP,
3     zone_dt TIMESTAMP WITH TIME ZONE,
4     local_zone_dt TIMESTAMP WITH LOCAL TIME ZONE);
Table created.
SQL> insert into test_zone values (sysdate,sysdate,sysdate);  
1 row created.
SQL> col TIMESTAMP_DT for a35
SQL> col ZONE_DT for a35
SQL> col LOCAL_ZONE_DT for a35
SQL> select * from test_zone; 

TIMESTAMP_DT                        ZONE_DT                             LOCAL_ZONE_DT
----------------------------------- ----------------------------------- -----------------------------------
06-SEP-12 01.50.10.000000 PM        06-SEP-12 01.50.10.000000 PM +08:00 06-SEP-12 01.50.10.000000 PM

SQL> insert into test_zone values(to_date('20090101','yyyymmdd'),to_timestamp('20090101','yyyymmdd'),to_timestamp_tz('20090101 010101 -8:00','yyyymmdd hh24miss TZH:TZM'));
1 row created.
SQL> select * from test_zone; 
TIMESTAMP_DT                        ZONE_DT                             LOCAL_ZONE_DT
----------------------------------- ----------------------------------- -----------------------------------
06-SEP-12 01.50.10.000000 PM        06-SEP-12 01.50.10.000000 PM +08:00 06-SEP-12 01.50.10.000000 PM
01-JAN-09 12.00.00.000000 AM        01-JAN-09 12.00.00.000000 AM +08:00 01-JAN-09 05.01.01.000000 PM

SQL> alter session set time_zone='+05:00';
Session altered.
SQL> select * from test_zone;
TIMESTAMP_DT                        ZONE_DT                             LOCAL_ZONE_DT (前提了三个小时)
----------------------------------- ----------------------------------- -----------------------------------
06-SEP-12 01.50.10.000000 PM        06-SEP-12 01.50.10.000000 PM +08:00 06-SEP-12 10.50.10.000000 AM
01-JAN-09 12.00.00.000000 AM        01-JAN-09 12.00.00.000000 AM +08:00 01-JAN-09 02.01.01.000000 PM

SQL> select * from v$timezone_names where rownum<10;   --看查时区名称
TZNAME                                                           TZABBREV
---------------------------------------------------------------- ----------------------------------------------------------------
Africa/Abidjan                                                   LMT
Africa/Abidjan                                                   GMT
Africa/Accra                                                     LMT
Africa/Accra                                                     GMT
Africa/Accra                                                     GHST
Africa/Addis_Ababa                                               LMT
Africa/Addis_Ababa                                               ADMT
Africa/Addis_Ababa                                               EAT
Africa/Algiers                                                   LMT

SQL> select tz_offset('Africa/Accra') from dual; 
TZ_OFFS
-------
+00:00

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';--设置会话日期表现格式
SQL> select to_timestamp('20120909 00:01:02.123456789','yyyymmdd hh24:mi:ss.ff') from dual; --to_timestamp数函用使
TO_TIMESTAMP('2012090900:01:02.123456789','YYYYMMDDHH24:MI:SS.FF')
---------------------------------------------------------------------------
09-SEP-12 12.01.02.123456789 AM

SQL> select to_timestamp_tz('20120909 00:01:02.123456789 0:0','yyyymmdd hh24:mi:ss.ff tzh:tzm') from dual; --to_timestamp_tz用使
TO_TIMESTAMP_TZ('2012090900:01:02.1234567890:0','YYYYMMDDHH24:MI:SS.FFTZH:T
---------------------------------------------------------------------------
09-SEP-12 12.01.02.123456789 AM +00:00

postgresql时光类型:9.1.2版本
每日一道理
有些冷,有些凉,心中有些无奈,我一个人走在黑夜中,有些颤抖,身体瑟缩着,新也在抖动着,我看不清前方的路,何去何从,感觉迷茫,胸口有些闷,我环视了一下周围,无人的街头显得冷清,感到整个世界都要将我放弃。脚步彷徨之间,泪早已滴下……
名字 存储空间 描述 最低值 最高值 分辨率
timestamp[无时区] 8字节 括包日期和时光 4713 BC 5874897AD 1毫秒/14位
timestamp[含时区] with time zone 8字节 日期和时光,带时区 4713 BC 5874897AD 1毫秒/14位
interval 12字节 时光间隔 -178000000年 178000000年 1毫秒/14位
date 4字节 只于用日期 4713 BC 32767AD 1天
time[无时区] 8字节 只于用一日内时光 00:00:00 24:00:00 1毫秒/14位
postgres=# select current_timestamp; --可以看到精度6位,表现时区+8,和oracle的timestamp with time zone类型是分歧的
now              
-------------------------------
2012-09-06 14:04:51.363932+08

postgres=# create table test_t (time_col time,date_col date,timestamp_col  timestamp);类型区分
CREATE TABLE
postgres=# insert into test_t values(now(),now(),now());
INSERT 0 1
postgres=# select * from test_t;
time_col     |  date_col  |       timestamp_col        
-----------------+------------+----------------------------
14:19:24.277477 | 2012-09-06 | 2012-09-06 14:19:24.277477
(1 row)

精度和时区的控制:
postgres=# create table test_t1 (time_col time,date_col date,timestamp_col timestamp,timestamp_col0 timestamp(0) without time zone);
CREATE TABLE
postgres=# insert into test_t1 values(now(),now(),now(),now());
INSERT 0 1
postgres=# select * from test_t1;
time_col     |  date_col  |       timestamp_col        |   timestamp_col0    
-----------------+------------+----------------------------+---------------------
14:34:59.840947 | 2012-09-06 | 2012-09-06 14:34:59.840947 | 2012-09-06 14:35:00

postgres=# alter table test_t1 add column timestamp_col1 timestamp(0) with time zone;
ALTER TABLE
postgres=# insert into test_t1 values(now(),now(),now(),now(),now());
INSERT 0 1
postgres=# select * from test_t1;
time_col     |  date_col  |       timestamp_col        |   timestamp_col0    |     timestamp_col1     
-----------------+------------+----------------------------+---------------------+------------------------
14:34:59.840947 | 2012-09-06 | 2012-09-06 14:34:59.840947 | 2012-09-06 14:35:00 | 
14:36:31.265579 | 2012-09-06 | 2012-09-06 14:36:31.265579 | 2012-09-06 14:36:31 | 2012-09-06 14:36:31+08

由此可见,timestamp本身不带时区,但是带精度,如果需要带时区,那么加上with time zone便可
postgres=# select now()::timestamp(0) without time zone;
now         
---------------------
2012-09-06 14:42:12

文章结束给大家分享下程序员的一些笑话语录: 神灯新篇
一个程序员在海滩上发现了一盏神灯。他在灯上擦了几下,一个妖怪就从灯里跳出来说:“我是世界上法术最强的妖怪。我可以实现你的任何梦想,但现在,我只能满足你一个愿望。”程序员摊开了一幅中东地图说:“我想让中东得到永久的和平。”妖怪答道:“哦,我没办法。自打创世纪以来,那里的战火就没有停息过。这世上几乎没有我办不到的事,但这件事除外。”程序员于是说:“好吧,我是一个程序员,为许多用户编写过程序。你能让他们把需求表述得更清楚些,并且让我们的软件项目有那么一两次按进度按成本完成吗?”妖怪说:“唔,我们还是来看中东地图吧。”

转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/08/3067591.html

类型字节oracle 增强型时间类型以及postgresql时间类型相关推荐

  1. oracle报错无效列类型,jooq oracle存储过程与ARRAY,无效列类型:1111

    我想在Oracle中使用JOOQ调用存储过程.存储过程的某些输入和输出参数是自定义类型.jooq oracle存储过程与ARRAY,无效列类型:1111 其中之一的定义是: CREATE OR REP ...

  2. oracle查询字段精度,【Oracle】查询字段的长度、类型、精度、注释等信息

    在mysql中alter命令可以修改字段类型,长度,名称或一些其它的参数,下面我来给大家介绍alter函数修改字段长度与类型的两个命令,希望文章来给各位带来帮助.     mysql 修改字段长度 a ...

  3. mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...

    天萃荷净 将Oracle数据库查询出来的long结果转换为varchar2类型数据 来自Thomas Kyte <Oracle9i/10g/11g编程艺术> 12章节中.由于long的操作 ...

  4. vue验证手机号、密码验证码、时间、机型、图片类型等

    新建util.js : // 验证手机号 const testPhone = (resPhone) => {console.log(resPhone, "resPhone") ...

  5. java将一个整数按字节输出_在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解。其他的三种类型如下:1、...

    在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解. 其他的三种类型如下: 1. 基本类型:short 二进制位数:16 ...

  6. oracle字段类型大全,Oracle内置数据类型总结大全

    CHAR(size) 用于描述定长的字符型数据. 每一笔数据的长度都相同(不做长度的补满空白).默认长度为一个字节,最大长度为2000字节.需要注意两个字节只能存储一个简体中文汉字. VARCHAR2 ...

  7. 【DB宝44】Oracle rac集群中的IP类型简介

    文章目录 Oracle rac集群中的IP类型简介 (一)Public IP (二)Private IP (三)Virtual IP(VIP) (四)SCAN IP (五)GNS VIP (六)HAI ...

  8. PostgreSQL索引类型

    作者:瀚高PG实验室 (Highgo PG Lab) PostgreSQL有很多索引类型.每种索引类型都有各自适用的情景,具体使用哪一种索引取决于数据类型.表中的底层基本数据和执行的查询类型. 接下来 ...

  9. Java基础:char类型字节占用数

    1. 前言 最近在研究InputStream.OutputStream和Reader.Writer这两大Java I/O输入输出抽象类.我们都知道对于InputStream.OutputStream是 ...

  10. mysql字段使用timestamp类型和默认值CURRENT_TIMESTAMP表示默认为时间,类似mssql的getdate()功能;字段自增...

    在mssql数据库中,时间字段如果想使用当前的时间,默认值是 getdate() 在mysql里面,如果是用 datetime类型,值用now() 是不允许的. 修改为   timestamp类型和默 ...

最新文章

  1. 华为高级研究员谢凌曦:下一代人工智能计算模型探索
  2. UIView 弹出动画
  3. 解决AJAX跨域WCF的问题详解
  4. find与grep命令简介及正则表达式(转)
  5. C# 装箱和拆箱、理论概念(非原创)
  6. cmd怎么进入linux系统时间,Linux怎么更改命令提示符信息
  7. python导入math函数取一随机数返回其平方根_Python数字
  8. Django项目中集成富文本编辑器的通用方法,适合KindEditor,xhEditor,NicEditor,wymeditor等 .
  9. 阿里大数据运维新成员——24小时待命!有求必应!能说会做!...
  10. LinuxShell 脚本条件语句的运用
  11. 算法系列之二十三:离散傅立叶变换之音频播放与频谱显示
  12. 好用的倒计时APP 可以同时开多个倒数计时器的便签
  13. netcfg android
  14. 苏宁618强势出圈,差异化竞争能力是杀手锏
  15. 【大脑】----如何增加大脑记忆?
  16. [python爬虫]喜马拉雅音乐
  17. 安装试用国产系统 ——中标麒麟V7.0
  18. 基于springboot微信小程序点餐系统的设计与实现
  19. 三台虚拟机实现NAT地址翻转
  20. 两点定标法_PH计两点校准法

热门文章

  1. Transformer的中年危机
  2. 【ACL2020】最新效果显著的关系抽取框架了解一下?
  3. 【比赛】新冠肺炎疫情趋势预测大赛~推荐大家参加下
  4. 干货 | Github标星近3w,热榜第一,如何用Python实现所有算法和一些神经网络模型...
  5. 干货 | 自然语言处理中注意力机制综述
  6. 摘要抽取算法——最大边界相关算法MMR(Maximal Marginal Relevance)
  7. 时间序列-Auto-ARIMA模型
  8. 《我也能做CTO之程序员职业规划》之四:直线定律
  9. 3.1 tensorflow2实现brown-mood中位数检验法——python实战
  10. 2. Anaconda下使用Pip或者conda安装库指南