Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91772594
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-03-31 12:47:32

来源:赛迪网    作者:Alizze

在日常的工作中,你可能会遇到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-2008 16:11:10

对照下面的参数,你会很快掌握这两个的函数应用。

日期格式参数以及含义的说明

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──年中的第几个星期
阅读(226) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~