oracle中日期类型与unix 时间戳的转换
2012-09-16 10:27
399 查看
Unix时间戳记是从'1970-01-01 00:00:00'GMT开始的秒数,表现为整数型。
Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数
(1)从Unix时间戳记转换为Oracle时间
create or replace function unix_to_oracle(in_number NUMBER) return date is
begin
return(TO_DATE('19700101','yyyymmdd') + in_number/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24);
end unix_to_oracle;
(2)由Oracle时间Date型转换为Unix时间戳记
create or replace function oracle_to_unix(in_date IN DATE) return number is
begin
return( (in_date -TO_DATE('19700101','yyyymmdd'))*86400 - TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))*3600);
end oracle_to_unix;
1. 随机数包
?
2. 在[0..100]范围内取随机数
?
3. 大于字符‘A’的10个字符随机字符串
?
4. 单个小写随机字符
?
5. 在过去10天内取随机日期
?
6. 在过去30分钟内取随机时间
?
随机函数
?
unix/linux 时间戳转换为标准时间格式(主要是注意时区问题):
sql代码
?
反过来也一样,还是要考虑时区
?
Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数
(1)从Unix时间戳记转换为Oracle时间
create or replace function unix_to_oracle(in_number NUMBER) return date is
begin
return(TO_DATE('19700101','yyyymmdd') + in_number/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24);
end unix_to_oracle;
(2)由Oracle时间Date型转换为Unix时间戳记
create or replace function oracle_to_unix(in_date IN DATE) return number is
begin
return( (in_date -TO_DATE('19700101','yyyymmdd'))*86400 - TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))*3600);
end oracle_to_unix;
1. 随机数包
?
?
?
?
?
?
?
sql代码
?
?
相关文章推荐
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- oracle中日期类型与unix 时间戳的转换
- Oracle中日期类型与 Unix 时间戳的…
- Mysql日期时间类型(DATE,DATETIME,TIMESTAMP)和函数及与linux系统时间之间的转换(UNIX_TIMESTAMP、FROM_UNIXTIME)
- Oracle时间运算与日期类型转换
- oracle将unix 时间戳转换为date类型
- Oracle查询中,将unix时间转换成Oracle时间
- linux时间戳和oracle date类型之间的转换
- oracle字符类型时间转换 ORA-01843 无效的月份
- Oracle日期类型转换格式
- Oracle日期类型转换格式
- Java 日期时间 Date类型,long类型,String类型表现形式的转换
- UNIX时间戳与.net日期类的转换
- Java将Unix时间戳转换成指定格式日期
- PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
- C语言中两种方式表示时间日期值time_t和struct tm类型的相互转换