ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle中date类型使用注意

Oracle中date类型使用注意

原创 Linux操作系统 作者:ljm0211 时间:2012-06-20 13:04:28 0 删除 编辑
'********************************************************************
'* Module             : clsGPCSJOB:GetTime()
'* Author             : HI1\Kevin L Li
'* Function           :
'* Date Created       : 2005-9-26
'* Date Modified      :
'* Maint. Log         :
'********************************************************************
'* Input              :
'* Output             :
'* Process Flow       :
'********************************************************************
Public Function GetTime(ByRef Connection As ADODB.Connection) As String
    Dim rsTime As New ADODB.Recordset
    Dim strSql As String
   
    strSql = "SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual"
    rsTime.Open strSql, Connection
   
    ''''Modified by HI1/Helen Li on 20040219 for SQL Server to Oracle
   
    'rsTime.Open "select * from OPENQUERY(" & g_cstrLinkedServer & ",'select systime from dual')", objConn
    'Set rsTime = objConn.Execute("select systime from dual")    'Helen Y
   
    ''''End Modified
   
    GetTime = rsTime.Fields(0).Value
''    If Len(GetTime) = 5 Then
''        GetTime = "0" + GetTime
''    End If
    rsTime.Close
End Function

以 上GetTime函数的作用是取得一个数据库当前时间的字符串,而该字符串与系统中date格式设置有关,这样该函数的结果就会受系统影响有不确定性,因 此使用SELECT SYSDATE FROM dual,就可能会出现问题,就是得到的字符串在插入数据库中date类型时格式不符。解决办法是在取得字符串时将它格式化,如下:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual
在 插入数据库date类型时再用TO_DATE('strDatetime','YYYY-MM-DD HH24:MI:SS')函数将其转成date类型,其中只要保证两个格式化字符串'YYYY-MM-DD HH24:MI:SS'一致就可以使date类型和系统不相关了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733345/,如需转载,请注明出处,否则将追究法律责任。

下一篇: PL/SQL小结
请登录后发表评论 登录
全部评论

注册时间:2009-05-14

  • 博文量
    272
  • 访问量
    436723