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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-04 11:22:40

     来源:赛迪网    作者:limeinan

在数据库的开发过程中,你可能会遇到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 年中的第几个星期
阅读(163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~