使用to_date来转换日期就OK。
在数据库的开发过程中,你可能会遇到ORACLE与VB的日期类型不匹配,无法直接比较的问题。而VB中又没有专门的函数可以转换ORACLE的日期,这个问题该如果解决呢?其实在ORACLE 的自带函数库里有一个很有用的函数TO_DATE(),它可以将日期字符串按照自己定义的格式转换为ORACLE格式的日期。示例代码如下:声明:Cn 为数据库链接对象
Dim datBirthday as Date '出生日期
Dim strSql as String 'SQL语句
Dim rs as ADODB.Recordset '结果集对象DatBirthday=# 10/1/1980 #
StrSql = "SELECT NAME FROM TABGROUP_2001" _
&" WHERE BIRTHDAY= TO_DATE('"&Cstr(DatBirthday) &"','yyyy-mm-dd')
rs.open strSql 注意函数后面的部分:YYYY-MM-DD,这是你提供的日期字符串的日期格式参数,ORACLE 将根据你的格式参数读取日期(表1中列出经常会用到的参数)。
如果要还原回来怎么办呢?没关系,我们还有另一个函数TO_CHAR(date),它与To_DATE是一对反函数,使用的格式也与TO_DATE类似,这里也举一个简单的例子,假设我们要查询系统时间,那么格式如下:
SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS') "Right Now"
From Dual;
结果显示:
Right Now
―――――――――――――――――――
16-Nov-2001 14:23:22 对照下面的参数表,相信你很快就能够掌握这两个函数的应用的
日期格式参数 含义说明 
D 一周中的星期几 
DAY 天的名字,使用空格填充到9个字符 
DD 月中的第几天 
DDD 年中的第几天 
DY 天的简写名 
IW ISO标准的年中的第几周 
IYYY ISO标准的四位年份 
YYYY 四位年份 
YYY,YY,Y 年份的最后三位,两位,一位 
HH 小时,按12小时计 
HH24 小时,按24小时计 
MI 分 
SS 秒 
MM 月 
Mon 月份的简写 
Month 月份的全名 
W 该月的第几个星期 
WW 年中的第几个星期

解决方案 »

  1.   

    關鍵在於形於'105021'本身是日期型的,'1'表示2000年以后,05表示2005年,021表示此年的第21天,恐怕不能用to_date來轉換.
      

  2.   

    select todata(riqi ,'yyyy/mm/dd') from  table ;
      

  3.   

    09:56:04 SQL*PLUS>select * from a;        BB COL2                 CC
    ---------- -------------------- ----------
             8                      02-3月 -05
            18
            18
            18
            18
               000
             1已选择7行。已用时间:  00: 00: 00.00
    09:56:10 SQL*PLUS>select to_char(cc,'dd/mm/yy') from a;TO_CHAR(
    --------
    02/03/05已选择7行。已用时间:  00: 00: 00.00
    09:56:20 SQL*PLUS>