Oracle存储过程获取YYYY-MM-DD的时间格式

环境:Oracle 10g,11g

问题重现:PL/SQL中命令窗口下,发现存储过程得到的时间格式不符合预期要求。

SQL> select sysdate from dual;

SYSDATE
-----------
2014-12-18

Executed in 0 seconds

SQL> set serveroutput on
SQL> declare
2 pro_date date;
3 begin
4 select sysdate into pro_date from dual;
5 dbms_output.put_line(pro_date);
6 end;
7 /

18-12月-14

PL/SQL procedure successfully completed

Executed in 0.016 seconds

处理方法1:将结果转换成字符串格式:

SQL>
SQL> declare
2 pro_date date;
3 begin
4 select sysdate into pro_date from dual;
5 dbms_output.put_line(to_char(pro_date,‘yyyy-mm-dd‘));
6 end;
7 /

2014-12-18

PL/SQL procedure successfully completed

Executed in 0.016 seconds

SQL>
SQL> declare
2 pro_date date;
3 begin
4 select sysdate into pro_date from dual;
5 dbms_output.put_line(pro_date);
6 end;
7 /

18-12月-14

PL/SQL procedure successfully completed

Executed in 0 seconds

处理方法2:改变会话的NLS_DATE_FORMAT

SQL> alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss‘;

Session altered

Executed in 0.015 seconds

SQL>
SQL> declare
2 pro_date date;
3 begin
4 select sysdate into pro_date from dual;
5 dbms_output.put_line(pro_date);
6 end;
7 /

2014-12-18 11:18:15

PL/SQL procedure successfully completed

Executed in 0 seconds

SQL> alter session set nls_date_format=‘yyyy-mm-dd‘;

Session altered

Executed in 0 seconds

SQL>
SQL> declare
2 pro_date date;
3 begin
4 select sysdate into pro_date from dual;
5 dbms_output.put_line(pro_date);
6 end;
7 /

2014-12-18

PL/SQL procedure successfully completed

Executed in 0 seconds

总结:在Oracle存储过程想要获取YYYY-MM-DD的时间格式,可以转换成字符串处理,可以临时指定会话的NLS_DATE_FORMAT变量,还可以整体修改客户端的环境变量。

时间: 2024-10-30 00:41:39

Oracle存储过程获取YYYY-MM-DD的时间格式的相关文章

Oracle中把一个DateTime的字符串转化成date类型。to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'),

Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: select to_date('2010-10-20 13:23:44','yyyy-mm-dd hh24:mi:ss')  from dual; 是用" /"还是" -"取决于字符串是什么结构的. date类型转换成char类型, 例子to_char(' ','yyyymmd

使用DateTime.Now.ToString("yyyy/MM/dd/")格式化字符串

在一次项目中,偶然发现,把项目移到另一点电脑时 通过DateTime.Now.ToString("yyyy/MM/dd/")格式化字符串时,其字符串格式应为:yyyy-MM-dd 格式化后没有体现出应有的效果! 其原因是:系统时间设置的格式问题 如图: 别人电脑的格式为: 后面把代码改为了直接获取年月日拼接! 如果需要固定格式,可通过正则表达式实现! 使用DateTime.Now.ToString("yyyy/MM/dd/")格式化字符串,布布扣,bubuko.co

日期合法性验证(格式为:YYYY-MM-DD或YYYY/MM/DD )

//+---------------------------------------------------  //| 日期合法性验证  //| 格式为:YYYY-MM-DD或YYYY/MM/DD  //+---------------------------------------------------  function IsValidDate(DateStr)   {       var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;

字符串转成日期类型(格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd)

//+---------------------------------------------------  //| 字符串转成日期类型   //| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd  //+---------------------------------------------------  function StringToDate(DateStr)  {         var converted = Date.parse(D

oracle存储过程---获取数据库中到指定经纬度距离的坐标

新项目需求: 结合百度地图,在地图中指定一个地点,获取此地点周围1km范围内所有数据库中存的单位的地点和信息标记在地图上.于是初写了一把oracle的存储过程,纯靠摸索写的. 后台需要的函数如下: 首先,计算圆弧函数 CREATE OR REPLACE FUNCTION RAD(d number) RETURN NUMBER is PI number :=3.141592625; begin return  d* PI/180.0; end ; 然后,计算距离函数 CREATE OR REPLA

input框中自动展示当前日期 yyyy/mm/dd

直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>input框中自动展示当前日期</title> </head> <body> <input type="text" id="input"> <script>

数据库中取出YYYY-mm-dd H:i:s的数据怎么将其转化成YYYY/mm/dd格式,另外,怎么将一个数据表中的数据插入另一个数据表

sql语句是select  left(replace(rq,'-','/'),10) as rq from 表名 tp5.1中的写法 $res = Db::table('表名') ->field("left(replace(rq,'-','/'),10) as rq") ->paginate(20); $res 取出的是对象类型的数据,本来想循环对象中的rq字段,用PHP来替换字符,但是忘记怎么循环对象了,对对象的操作也是很模糊,哎,先记录下来,以后有时间再处理吧 另在测试

intellij idea中创建类时,模板文件DATE格式多出个0011问题,例如yyyy/MM/dd 00dd

一.打开设置窗口,快捷键(Ctrl+Alt+S) 如上图设置后,点击OK保存,在创建类的时候,效果如下图所示: 在日期后面多出了个0011,这个原因是由于windows系统时间问题,当前是2月11号,0011就代表了这个月的第11天,若想去掉该0011,则进行如下修改即可: 修改成红框内的格式后,再创建新类,效果如下: 搞定~! 原文地址:https://www.cnblogs.com/bestOfReason/p/12295340.html

这里有个坑---js日期格式yyyy-MM-dd与yyyy/MM/dd

这里有个坑,---------每一个遇到的坑总结后都是一比财富. 我们写脚本的时候,一般定义一个日期格式会使用“2015-12-21”和“2015/12/21”两种数据格式,由于各取所需日期格式并没有优劣可分.但是当我们使用如下语句转换日期格式的时候请注意以下问题. 1.var dtNow=new Date('2015-12-21'); 2.var dtNow=new Date('2015/12/21'); 当我们在chorme浏览器上使用的时候会发现两种方法都是可以准确的转换为所需日期格式的.