oracle中对日期型字段进行查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中对日期型字段进行查询相关的知识,希望对你有一定的参考价值。

参考技术A

1、选中桌面常用的PLSQL Developer工具打开后,输入登录信息,进行登录

2、工具中新建一个SQL窗口

3、SQL窗口打开后是这个样子

4、日期createdatetime,日期型字段类型如下

5、输入如下语句,从表table123进行查询

6、点击查询按钮,进行查询操作

7、查询结果如下,已查出2014年1月1日的查询记录数目

在 BigQuery 中对具有 DateTime 值的字符串字段进行范围查询

【中文标题】在 BigQuery 中对具有 DateTime 值的字符串字段进行范围查询【英文标题】:Range query on string fields having DateTime values in BigQuery 【发布时间】:2013-01-11 06:33:47 【问题描述】:

我正在将数据从 csv 文件上传到 bigquery 表。来自 csv 的每条记录都包含日期时间字段值,我将这些值作为字符串存储到 BigQuery 表字段中。当我查询这些日期时间字段以获得所需的范围(如 dateField > '2013-01-01 00:00:00' 和 dateField

我尝试使用 TimeStamp 函数,但没有成功。请帮帮我。

【问题讨论】:

【参考方案1】:

我解决了问题:-

当我生成带有 datetime(YYYY-MM-DD HH:MM:SS) 值的 csv 文件时,我使用了一段代码,使用 C# 将该值转换为 POSIX 值(UNIX 时间戳):-

        protected string convertDateTimeToPOSIX(string strDateTime)
        
            string strPOSIX = "";
            DateTime dtmDateTime = DateTime.Parse(strDateTime);
            DateTime dtmEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            TimeSpan objTSpan = (dtmDateTime - dtmEpoch);
            strPOSIX = objTSpan.TotalSeconds.ToString();
            return strPOSIX + "000000";
        

例如。如果 strDateTime = "16-03-2011 23:51:17" 那么它的 POSIX 值将变为 "1300319477000000"

文件上传后,我使用 Web 界面查询 Big Query:-

    SELECT Col1, Col2, Col3, FORMAT_UTC_USEC(POSIX_DateTime) DATE FROM [Dataset.tableName] 
    WHERE POSIX_DateTime > PARSE_UTC_USEC('2013-01-01 00:00:00') AND POSIX_DateTime < PARSE_UTC_USEC('2013-01-11 00:00:00')
    ORDER BY DATE

【讨论】:

以上是关于oracle中对日期型字段进行查询的主要内容,如果未能解决你的问题,请参考以下文章

oracle 日期格式 查询 如有一个字段类型是date的 我要根据这个字段来查询 怎么做 急

在 BigQuery 中对具有 DateTime 值的字符串字段进行范围查询

Oracle两个日期类型字段怎么比较大小

oracle对应数据库时间字段的模糊查询以及普通字段的模糊查询

oracle 查询每组的最大值

oracle中如何设置年月日?