SQL 有什么函数让2个日期型的相减得到个number型的天数

SQL 有什么函数让2个日期型的相减得到个number型的天数,第1张

DateDiff 判断两个日期之间的间隔 select DateDiff("d","2006-5-1","2006-6-1")返回31,其中d可以换为yyyy,m,H

yyyy 是 年 m 是月 d是天 h 是小时

列如: DateDiff("d","2008-11-19" ,"2008-12-23") 写出这段代码它会返回一个天的数值!

1

我把你的程序输出了一下,发现没问题啊

你的错误显示是pattern 参数设置错误了

import javatextParseException;

import javatextSimpleDateFormat;

import javautilDate;

public class DateTest {

public static void main(String[] args) throws ParseException {

Date str = StringConvertDate("yyyy-mm-dd", "2008-12-05");

Systemoutprintln(str);

}

public static Date StringConvertDate(String timePattern, String date)

throws ParseException {

SimpleDateFormat format = new SimpleDateFormat(timePattern);

Date javadate = formatparse(date);

Date sqlDate = new Date(javadategetTime());

return sqlDate;

}

}

字母 日期或时间元素 表示 示例

G Era 标志符 Text AD

y 年 Year 1996; 96

M 年中的月份 Month July; Jul; 07

w 年中的周数 Number 27

W 月份中的周数 Number 2

D 年中的天数 Number 189

d 月份中的天数 Number 10

F 月份中的星期 Number 2

E 星期中的天数 Text Tuesday; Tue

a Am/pm 标记 Text PM

H 一天中的小时数(0-23) Number 0

k 一天中的小时数(1-24) Number 24

K am/pm 中的小时数(0-11) Number 0

h am/pm 中的小时数(1-12) Number 12

m 小时中的分钟数 Number 30

s 分钟中的秒数 Number 55

S 毫秒数 Number 978

z 时区 General time zone Pacific Standard Time; PST; GMT-08:00

Z 时区 RFC 822 time zone -0800

copy一段,不知道是不是你要的:

oracle number型日期转date型日期

在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的,

1323957678114

1321326994295

1322129306804

1322129716220

猜到应该是1970年1月1号0点0分距现在的毫秒值。

解决办法是写一个转换函数:

create or replace function num_to_date(in_number NUMBER) return date is

begin

return(TO_DATE('19700101','yyyymmdd')+ in_number/86400000+TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 );

end num_to_date;

其中:加上TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24的用意为加上当地时区的的时间差,咱们是东八区TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))的值为8,除以24得到天。

然后使用函数就可以了

select num_to_date(tactingtime) from 表名 t;

1将字符串类型转换为数字类型。此方法使用tonumber()直接转换。具体语法是tonumber(STR)。

2将数字类型转换为字符串类型。此转换使用to_char(),这有点像上面的to_number()模式。999代表相同的内容。

3将日期类型转换为字符串类型。实际上,此方法还使用到ˊchar(),它将日期格式转换为所需的格式类型。这种方法更加个性化。

4下面的代码将日期类型转换为公共字符串类型,这是一种更常见、更完整的字符串格式。

5将字符串类型转换为日期类型。此转换方法使用to_date()。用法也相对简单,转换后的日期格式也是自定义的。

6完成效果图。

你这列字段的值是什么样的,可否举个例子

你可以使用 to_date() 这个函数把数值转成日期类型

例:

select to_date(col,'yyyy-mm-dd')

from table

where to_date(col,'yyyy-mm-dd') < sysdate;

但之前先设置一下你的 NLS_DATE_LANGUAGE 也就是日期格式使用的语言

如:alter session set NLS_DATE_LANGUAGE='AMERICAN';

你连数据库查询返回会得到一个ResultSet对象的实例,可以通过getInt(),getDate()得到数值和日期。注意的是,即使是NUMBER型,也推荐用getString来获得,毕竟字符串好 *** 作,这样返回utilString型;至于date,返回的是javasqlDate

以上就是关于SQL 有什么函数让2个日期型的相减得到个number型的天数全部的内容,包括:SQL 有什么函数让2个日期型的相减得到个number型的天数、关于java中日期转化的问题、怎样将Number型数据转换成日期型 Oracle等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存