根据输入时间日期返回时间、昨天、本周几、具体日期 类似于微信朋友圈时间 (oracle)

原创 2016年02月16日 13:47:13

之前写过sqlserver的这种函数,链接在这里。其实oracle的和msserver的一样,只是有些获取时间的函数不太一样,在此仅做记录。

create or replace function  换算_时间描述(	p输入时间 DATE)
RETURN VARCHAR2
AS
当前时间 DATE;
当前日期 DATE;
昨天日期 DATE;
当前时刻 VARCHAR(50);
本周一日期 DATE;
当前年份 VARCHAR(20);

输入日期 DATE;
输入时刻 VARCHAR2(50);
所在周 VARCHAR2(50);
输入年份 VARCHAR2(20);
输入月 VARCHAR2(10);
输入日 VARCHAR2(10);
输入时 VARCHAR2(10);
输入分 VARCHAR2(10);

返回字符串 VARCHAR2(50);
BEGIN
	当前时间:=sysdate;
	当前日期:=当前时间;
	昨天日期:=当前时间-1;
	当前时刻:=  to_char(当前时间,'HH24:Mi:ss');
	本周一日期:=  trunc(当前时间,'iw');
	当前年份:=  extract(year from 当前时间);
	
	
	输入日期:= p输入时间;
	输入时刻:= to_char(p输入时间,'HH24:Mi:ss');
	所在周:=  case to_number(to_char(p输入时间,'D'))-1 when 0 then 7 else to_number(to_char(p输入时间,'D'))-1 end;
	输入年份:=  extract(year from p输入时间);
	输入月:=  extract(month from p输入时间);
	输入日:=  extract(day from p输入时间);
	输入时:= extract(hour from p输入时间);
	输入分:= extract(minute from p输入时间);
	
	
	BEGIN
		IF 当前日期=输入日期 THEN  返回字符串:=输入时||':'||输入分;
		ELSE IF 昨天日期=输入日期 THEN 返回字符串:='昨天';
		ELSE IF (本周一日期<=输入日期 AND 输入日期<当前日期)THEN 返回字符串:=所在周;
		ELSE IF 当前年份=输入年份 THEN 返回字符串:=输入月||'-'||输入日;
		ELSE IF 当前年份<>输入年份 THEN 返回字符串:=输入日期;
		ELSE  返回字符串:='时间计算出错';
    END IF;
    END IF;
    END IF;
    END IF;
    END IF;
	END;
	RETURN 返回字符串;
END;

测试:

  select 换算_时间描述(sysdate-50)  from dual;


微信小程序引爆朋友圈的秘密

昨天,也就是2017年1月9日,微信上线重磅功能“小程序”,一时间刷爆了朋友圏。从来没有一款产品像“微信”一样如此引人注目,从来没有一个应用像“小程序”一样被如此多的人病毒式的传播。曾经有人说过,如果...
  • anda0109
  • anda0109
  • 2017年01月10日 17:55
  • 4800

分享几款基于jquery不错的时间插件

jQuery日历选择器 更新时间:01月05日 23:27:23 这个组件是一个轻量级的日历/日期选择器。特点:支持国际化支持改变当前日期支持鼠标滚轮滚动支持(递延)回调日期选择支持可...
  • dyllove98
  • dyllove98
  • 2013年04月27日 20:04
  • 1146

根据输入时间日期返回时间、昨天、本周几、具体日期 类似于微信朋友圈时间 (msserver 标量值函数 )

--根据输入时间日期返回时间、昨天、本周几、具体日期   类似于微信朋友圈时间  (msserver 标量值函数 ) --命名为中文,请勿喷 CREATE FUNCTION 解析_时间 ( ...
  • cherish1forever
  • cherish1forever
  • 2015年10月10日 11:57
  • 708

ASP.NET根据当前时间获取,本周,本月,本季度等时间段 (转)

DateTime dt = DateTime.Now;  //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWee...
  • taozi_5188
  • taozi_5188
  • 2014年11月13日 10:52
  • 1256

iOS开发-小知识(三)

1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用)。 其实在代码里还是可以设置的,那就是删除背景vie...
  • u012416493
  • u012416493
  • 2013年11月10日 15:44
  • 1824

雅思

1.雅思口语5分有多差? 摘要:对于排名靠前的国外名校,往往不仅要求雅思总分高,还对口语单科有要求7分.随着澳洲和加拿大技术移民越来越难,对雅思口语分数线也上升到了7分.而雅思口语考试往... 2...
  • u012972513
  • u012972513
  • 2016年09月25日 09:11
  • 1053

iOS 开发中关于时间显示问题(今天/昨天/前天/星期几/具体日期)

以今天为基准,显示 今天/昨天/前天(昨天12:12) 离今天一周之内的显示 星期几(星期四) 离今天一周之外的显示 具体日期(15-09-05 12:33)新手处女座,直接上代码// View...
  • GNMB478
  • GNMB478
  • 2015年09月15日 12:37
  • 426

OC获取本周日期

OC获取本周日期
  • c_chang
  • c_chang
  • 2016年10月28日 10:20
  • 1058

Java 获取本周,本月的开始和结束日期

获取本周的周一和周日的日期:  Calendar ca=Calendar.getInstance();   SimpleDateFormat f=new SimpleDateFormat("y...
  • kaven_lv
  • kaven_lv
  • 2013年08月18日 22:39
  • 1215

java通过当前日期得到本周的起止日期

现在系统需要统计上周、本周、下周的信息。不论今天是几号,只要在本周内,得到的起止日期都一样。比如:今天是2015-07-30(星期四),明天2015-07-31(星期五)。这两天都在同一周,所以统计出...
  • zl544434558
  • zl544434558
  • 2015年07月30日 16:59
  • 1199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据输入时间日期返回时间、昨天、本周几、具体日期 类似于微信朋友圈时间 (oracle)
举报原因:
原因补充:

(最多只允许输入30个字)