`

日期类型转换(1)

阅读更多
ORACLE日期时间函数大全
ORACLE日期时间函数大全

   TO_DATE格式(以时间:2007-11-02   13:45:25为例)
  
        Year:     
        yy two digits 两位年                显示值:07
        yyy three digits 三位年                显示值:007
        yyyy four digits 四位年                显示值:2007
           
        Month:     
        mm    number     两位月              显示值:11
        mon    abbreviated 字符集表示          显示值:11月,若是英文版,显示nov    
        month spelled out 字符集表示          显示值:11月,若是英文版,显示november
         
        Day:     
        dd    number         当月第几天        显示值:02
        ddd    number         当年第几天        显示值:02
        dy    abbreviated 当周第几天简写    显示值:星期五,若是英文版,显示fri
        day    spelled out   当周第几天全写    显示值:星期五,若是英文版,显示friday       
        ddspth spelled out, ordinal twelfth
            
              Hour:
              hh    two digits 12小时进制            显示值:01
              hh24 two digits 24小时进制            显示值:13
             
              Minute:
              mi    two digits 60进制                显示值:45
             
              Second:
              ss    two digits 60进制                显示值:25
             
              其它
              Q     digit         季度                  显示值:4
              WW    digit         当年第几周            显示值:44
              W    digit          当月第几周            显示值:1
             
        24小时格式下时间范围为: 0:00:00 - 23:59:59....     
        12小时格式下时间范围为: 1:00:00 - 12:59:59 ....
           
1. 日期和字符转换函数用法(to_date,to_char)
        
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串  
select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年  
select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月  
select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日  
select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时  
select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分  
select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

   
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')    from dual
2.     
    select to_char( to_date(222,'J'),'Jsp') from dual     
   
    显示Two Hundred Twenty-Two    

3.求某天是星期几     
   select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;     
   星期一     
   select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;     
   monday     
   设置日期语言     
   ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';     
   也可以这样     
   TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')    

4. 两个日期间的天数     
    select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;    

5. 时间为null的用法     
   select id, active_date from table1     
   UNION     
   select 1, TO_DATE(null) from dual;     
  
   注意要用TO_DATE(null)    

6.月份差  
   a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')     
   那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。     
   所以,当时间需要精确的时候,觉得to_char还是必要的
     
7. 日期格式冲突问题     
    输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'     
    alter system set NLS_DATE_LANGUAGE = American     
    alter session set NLS_DATE_LANGUAGE = American     
    或者在to_date中写     
    select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;     
    注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,     
    可查看     
    select * from nls_session_parameters     
    select * from V$NLS_PARAMETERS    

8.     
   select count(*)     
   from ( select rownum-1 rnum     
       from all_objects     
       where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-     
       02-01','yyyy-mm-dd')+1     
      )     
   where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )     
        not in ( '1', '7' )     
  
   查找2002-02-28至2002-02-01间除星期一和七的天数     
   在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒).    

9. 查找月份    
    select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;     
    1     
   select months_between(to_date('02-01-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;     
    1.03225806451613
      
10. Next_day的用法     
    Next_day(date, day)     
   
    Monday-Sunday, for format code DAY     
    Mon-Sun, for format code DY     
    1-7, for format code D
分享到:
评论

相关推荐

    日期跟long转换小工具

    在Java编程语言中,日期通常表示为`java.util.Date`对象,而long型常用于存储时间戳,即自1970年1月1日00:00:00 UTC以来的毫秒数。这种表示方式方便进行日期计算和比较。然而,直接在代码中处理这两个类型之间的转换...

    一分钟理解日期类型转换和运算

    详细描述和案例 一分钟理解日期类型转换和运算

    常用类型转换扩展_C#_扩展_类型转换_

    2. **FromXXX()** 方法:与`ToXXX()`相反,用于将特定类型转换为其他类型,如`FromDate()`用于将日期字符串转换为`DateTime`对象。 3. **TryToXXX()** 和 `TryFromXXX()` 方法:模仿`TryParse()`模式,提供安全的...

    mysql数据类型转换

    - **日期类型** (`DATE`):表示日期值。 - **时间类型** (`TIME`):表示时间值。 - **日期时间类型** (`DATETIME`):表示日期和时间的组合值。 - **浮点数类型** (`DECIMAL`):表示固定精度的小数。 - **整数类型** ...

    JSON转换为JAVA对象及日期格式转换处理 -

    JSON转换为JAVA对象及日期格式转换处理 -

    sql server日期格式转换方法大全

    当需要将日期字段与其他非日期类型结合时,可能需要使用`CAST()`或`CONVERT()`。例如,将日期转换为整数(天数): ```sql SELECT CAST(myDate AS int) AS 'DaysSince1900' FROM myTable; ``` 6. 动态SQL和...

    c_时间类型转换

    ### C# 时间类型转换详解 在C#编程中,时间处理是常见的需求之一。本文将详细介绍如何使用`DateTime`类来进行各种时间类型的转换,并通过具体的示例代码来展示不同的转换方法及其应用场景。 #### 1. `DateTime` 类...

    struts2(时间日期类型转换器)

    时间日期类型转换器是Struts2框架中的一个重要组件,它专门用于处理日期和时间格式的转换问题。 在Java中,日期和时间通常表示为`java.util.Date`或`java.time`包下的类,如`LocalDate`、`LocalTime`和`...

    Mysql中类型转换

    ### MySQL中的类型转换 在MySQL中,类型转换是一项非常实用的功能,它可以帮助我们处理不同数据类型之间的转换,尤其是在处理如日期、数字与字符串等类型的相互转换时尤其有用。本文将详细介绍MySQL中常用的类型...

    ORACLE 自动类型转换

    1. **隐式转换**:这是Oracle自动类型转换的一种形式,它发生在无需显式声明转换的情况下。例如,当一个数字与字符串进行比较时,Oracle会尝试将字符串转换为数字,或者在存储过程中,如果参数的数据类型与变量不...

    易语言长整数与日期时间转换

    总结一下,易语言的长整数与日期时间转换是通过"日期_到长整数"和"长整数_到日期"这两个内置函数实现的,它们为开发者提供了方便的方式来在日期时间对象和长整数之间进行转换。而"CopyMemory"和"CopyMemory2"函数...

    类的转换C++的内部数据类型遵循隐式类型转换规则

    在另一个例子中,`Date`类有一个成员转换函数`operator int()`,这使得`Date`对象能够转换为整型值,表示从2000年1月1日到当前日期的天数。在`main`函数中,`Date`对象`now`被隐式转换为`int`类型,并存储在变量`...

    asp 类型转换函数大全第1/2页

    日期类型转换函数:`cdate(expression)` - **功能**:将表达式转换为日期类型。 - **示例**: - `cdate("2023-09-01")` 返回 `#2023-09-01#` #### 10. 双精度浮点类型转换函数:`cdbl(expression)` - **功能**:...

    C# 的类型转换.doc

    本文将深入探讨C#中的装箱、拆箱、别名、数值类型转换、字符编码转换、字符串与数值及数组之间的转换,以及日期型数据的转换。 1. **装箱、拆箱与别名** - **装箱** 是将值类型转换为对应的引用类型,例如 `int` ...

    自定义类型转换器

    ### 自定义类型转换器 #### 一、概述 在Java编程中,经常需要处理不同数据类型之间的转换。例如,从用户界面获取的数据通常是字符串形式,而程序内部可能需要将其转换为日期、数字等其他类型。Struts2框架提供了一...

    Date类型数据转换

    Date类型数据转换是Java编程语言中非常重要的一种数据类型转换。它可以将String类型的日期字符串转换为Date类型的日期对象,也可以将Date类型的日期对象转换为String类型的日期字符串。在本文中,我们将详细介绍Date...

    java的Date类型转换成MySQL的DateTime类型.doc

    Java 的 Date 类型和 MySQL 的 DateTime 类型是两个不同的日期时间类型,需要将 Java 的 Date 类型转换为 MySQL 的 DateTime 类型以便在 MySQL 数据库中存储日期和时间信息。该方法可以高效地将 Java 的 Date 类型...

    数据库技术sql数据类型转换

    1. **自动转换与显式转换**:SQL Server 在某些情况下会自动进行类型转换,但在复杂的查询和逻辑中,建议使用显式转换以确保预期的行为。 2. **兼容性问题**:`CONVERT()` 函数在不同版本的 SQL Server 中可能有所...

    C ++类型转换心得

    1. 性能:不同类型转换的效率不同,尽量避免不必要的转换,特别是涉及指针或引用的转换,因为它们可能导致额外的内存拷贝。 2. 安全性:确保转换是安全的,例如,从 Variant 转换到具体类型前,检查其 VariantType...

Global site tag (gtag.js) - Google Analytics