ORACLE时间格式转换问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE时间格式转换问题相关的知识,希望对你有一定的参考价值。
在C#中将 DateTime(即YYYY-MM-DD HH24:mm:ss格式)时间作为参数,到Oracle中查询,Oracle中的时间均为(MM/DD/YYYY hh12:mi:ss AM/PM)格式。请问怎么转换
你这个字段是date型的?如果date型的你就不能修改其格式,也无需修改,当你展示时通过to_char(日期型字段或者变量,'指定格式YYYY-MM-DD')就可以实现。如果是字符串型就可以随意修改了。如:to_char(date‘,'YYYY-MM-DD') 参考技术A select * from 表名 where to_char(日期字段,'yyyy-mm-dd hh24:mi:ss')=传进来的时间
注意:传进来的时间上要加单引号追问
这个我曾想过,但是觉得几率不大,没试就过了,明天试一下。
但是我一般都会有">","<",参与,这样也行嘛
oracle中日期格式正常就是这么转成字符的,到时候你再试试吧
是大于和小于吗?
进行比较吗?
作为where条件,查询数据库,把大于或小于参数时间点的数据取出
追答恩,用大于小于没问题的
本回答被提问者采纳如何在 Oracle 中将毫秒转换为 hh mm ss 格式
【中文标题】如何在 Oracle 中将毫秒转换为 hh mm ss 格式【英文标题】:How to convert miliseconds to hh mm ss format in Oracle 【发布时间】:2016-10-14 06:02:50 【问题描述】:我有一个数据库表,其中包含存储毫秒的“时间”列。我需要将其转换为小时:分钟:秒格式。 谁能帮助如何做到这一点?我认为它需要一个功能。我试过一个,但它只能工作不到 24 小时。我也需要它来转换超过 24 小时。 注意:Time 列的数据类型是 Varchar2。
提前谢谢..
【问题讨论】:
【参考方案1】:如果是mySql, SELECT SEC_TIME(秒/1000); 做你想要的,但如果是 oracle sql,这里有一个链接:Oracle Convert Seconds to Hours:Minutes:Seconds 在链接的解决方案的分母中添加 1000 完成将毫秒转换为 hh:mm:ss 最多 9999 小时的任务。希望能帮助到你!谢谢
【讨论】:
感谢您的反馈!我在您提到的链接上找到了以下代码: 选择 TO_CHAR(TRUNC(x/3600),'FM9900') || ':' || TO_CHAR(TRUNC(MOD(x,3600)/60),'FM00') || ':' || TO_CHAR(MOD(x,60),'FM00') FROM DUAL 但这只是将秒转换为 hh:mm:ss 。我需要毫秒到 hh:mm:ss。你能告诉我如何在解决方案的分母中添加 1000 吗?我没听懂。【参考方案2】:毫秒到 hh:mm:ss
SELECT TO_CHAR(TRUNC(s/3600000),'FM9900') || ':' || TO_CHAR(TRUNC(MOD(s,3600000)/60000),'FM00')
|| ':' ||TO_CHAR(MOD(s,60000),'FM00')
FROM DUAL ;
【讨论】:
以上是关于ORACLE时间格式转换问题的主要内容,如果未能解决你的问题,请参考以下文章