oracle数据库中date类型设定取当前时间

oracle数据库中date类型设定取当前时间,第1张

给你举个例子

create

table

student

(

id

varchar2(20),

name

varchar2(20),

in_time

date

default

sysdate

--入学时间,默认值:系统当前时间

)

以后插入数据的话,例如

insert

into

student(id,name)

values('a001','张三');

这样in_time字段的值就自动为系统当前时间

组件使用和其他的没有什麼两样,只是在设置连接数据库的时候选择ORACLE数据库驱动就可以了

需要看你的数据库中存储的是什麼格式了

我使用的ORACLE数据库中的字段格式为'18-九月-2006

15:45:08',精确到秒

这样的格式使用

delphi查询可以这样做:

query1sqlAdd('select

from

tablename

where

DATe

>

to_date(''18-8-2006

15:45:08'',''DD-MM-YYYY

HH24:MI:SS'')

AND

DATE

<

to_date(''18-11-2006

15:45:08'',''DD-MM-YYYY

HH24:MI:SS'')'

)

;

其中'18-11-2006

15:45:08'

'18-9-2006

15:45:08'

就是要求的两个天数

进行比较的话只能先转换成字符串,截取需要的部分,然后再将字符串转换成日期进行比较

日期转换为字符串:to_char('你的日期', 'hh24:mi:ss')

字符串转日期:to_date(to_char('你的日期','hh24:mi:ss'), 'hh24:mi:ss')

进行比较:to_date(to_char('你的日期','hh24:mi:ss'), 'hh24:mi:ss') > sysdate

很多方法

第一个,直接运行

with t as

(select rownum-1 rn from dual connect by rownum<=10000)

select to_date('2006-06-01','yyyy-mm-dd')+rn from t where to_date('2006-06-01','yyyy-mm-dd')+rn<=to_date('2013-12-31','yyyy-mm-dd')

第二个,这个可能会行数超了,执行起来报错,不过大概思路就是这样

declare

v_date1 varchar2(10);

v_date2 varchar2(10);

i int;

begin

i:=0;

v_date1:='2006-06-01';

while v_date1 <='2013-12-31' loop

v_date2:=to_char(to_date(v_date1,'yyyy-mm-dd')+i,'yyyy-mm-dd');

i:=i+1;

dbms_outputput_line(v_date2);

end loop;

end;

加一个月 SELECT ADD_MONTHS(SYSDATE,1) FROM DUAL

前两个月 SELECT ADD_MONTHS(SYSDATE,-2) FROM DUAL

你替换一下就OK了。

SELECT TRUNC( SYSDATE, 'YYYY' ) FROM DUAL

可以获取 今年的 1月1号

那么, 如果你知道天数, 就是

SELECT TRUNC( SYSDATE, 'YYYY' ) + 今年的第几天 - 1 FROM DUAL

简单号,ROACEL里查询日期带时间的是

to_date('20100201 00:00:00','YYYYMMDD hh24:mi:ss')这样的。

你的语句可以改成

select MOBILE

from local_member

where ( (FIRSTLOGINTIME between to_date('20100201 00:00:00','yyyymmdd hh24:mi:ss') and to_date('20100228 23:59:59','yyyymmdd hh24:mi:ss')) and ( lASTLOGINTIME between to_date('20100201 00:00:00','yyyymmdd hh24:mi:ss') and to_date('20100228 23:59:59','yyyymmdd hh24:mi:ss')))

to_date()函数是把字符串转换为日期的,比如你的字段是date类型

那么这样就可以了

字段名 Between to_date('20120725080000','yyyymmddhh24miss') And to_date('20120730080000','yyyymmddhh24miss')

这个就是截取2012年7月25日8点到30日8点的数据

以上就是关于oracle数据库中date类型设定取当前时间全部的内容,包括:oracle数据库中date类型设定取当前时间、oracle 怎么用sql语句获取日期字段的年月日、oracle如何得到一个date的时间,不要日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9503589.html

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

发表评论

登录后才能评论

评论列表(0条)

保存