oracle数据库建表语句可以指定date字段的格式吗

oracle数据库建表语句可以指定date字段的格式吗,第1张

可以

oracle数据库建表date,Oracle数据库中关于日期时间字段类型 转载

2021-04-02 21:03:04

GUlijiwa古力

码龄4年

关注

Oracle数据库

与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTERVAL类型可以很容易地存储一个时间量,如“8个小时”或“30天”。将两个日期相减,就会得到一个时间间隔(INTERVAL);例如,将8小时间隔加到一个TIMESTAMP上,会得到8小时以后的一个新的TIMESTAMP。

*** 作日期有关字段的时候,最好显示地指定日期或时间格式,比如:

Insert into t ( date_column ) values ( to_date( '01/02/2003', 'DD/MM/YYYY' ) )避免各种格式造成混乱。

1. DATE类型介绍

DATE类型是一个7字节的定宽日期/时间数据类型。它总是包含7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。这七个字节分别存储的是这7个属性,比如:2005-12-05 12:30:43存储的是120,105,12,5,12,31,44。世纪和年份分别加了100,分钟和秒钟分别加了1。世纪和年份加100是为了区分公元前和公元后。我们经常使用这样的条件,Where to_char(date_column,'yyyy') = '2005',其实这个地方可以换成:Where trunc(date_column,'y') = to_date('01-jan-2005','dd-mon-yyyy')。因为,trunc函数是在日期上将年份后面5个字节清空,而to_char函数,还要转换成字符串。当然,如果能够不使用函数最好,比如:created >= to_date('01-jan-2005','dd-mon-yyyy') and created <to_date('01-jan-2006','dd-mon-yyyy')这样如果在created列上建立了索引,还能使用索引。

在数据库取出来的时候就转换好

select

getdate()

2006-05-12

11:06:08.177

我整理了一下SQL

Server里面可能经常会用到的日期格式转换方法:

举例如下:

select

Convert(varchar(10),getdate(),120)

2006-05-12

select

CONVERT(varchar,

getdate(),

120

)

2006-05-12

11:06:08

select

replace(replace(replace(CONVERT(varchar,

getdate(),

120

),'-',''),'

',''),':','')

20060512110608

select

CONVERT(varchar(12)

,

getdate(),

111

)

2006/05/12

select

CONVERT(varchar(12)

,

getdate(),

112

)

20060512

select

CONVERT(varchar(12)

,

getdate(),

102

)

2006.05.12

其它几种不常用的日期格式转换方法:

select

CONVERT(varchar(12)

,

getdate(),

101

)

0612/2005

select

CONVERT(varchar(12)

,

getdate(),

103

)

12/09/2004

select

CONVERT(varchar(12)

,

getdate(),

104

)

12.05.2006

select

CONVERT(varchar(12)

,

getdate(),

105

)

12-05-2006

select

CONVERT(varchar(12)

,

getdate(),

106

)

12

05

2006

select

CONVERT(varchar(12)

,

getdate(),

107

)

05

12,

2006

select

CONVERT(varchar(12)

,

getdate(),

108

)

11:06:08

select

CONVERT(varchar(12)

,

getdate(),

109

)

0512

2006

1

select

CONVERT(varchar(12)

,

getdate(),

110

)

09-12-2004

select

CONVERT(varchar(12)

,

getdate(),

113

)

12

052006

select

CONVERT(varchar(12)

,

getdate(),

114

)

11:06:08.177

Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为

“YYYY-MM-DD

HH:MM:SS”。支持的时间范围是“1000-00-00

00:00:00”到“9999-12-31

23:59:59”。

Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01

00:00:01”到“2038-01-19

03:14:07”。

所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00

00:00:00)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6911374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存