您的位置:程序门 -> 其他数据库开发 -> access



access文本转化为时间


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


access文本转化为时间[已结贴,结贴人:liuxfy0001]
发表于:2007-12-28 16:23:55 楼主
怎么在access数据库中,将文本格式转化为时间格式?有什么转化函数吗?
比如:report_date字段为文本,长度为14,"20071228120000" 转化为时间格式,用过cdate()不行啊,返回的类型好象不对,我用这个要和其他的时间做比较的,具体要比较的时间格式为"yyyy-mm-dd   hh:mm:ss"   比如"2007-12-28   06:01:00" 谢谢大家了!!
发表于:2007-12-28 17:39:391楼 得分:0
怎么没人顶啊?谢谢各位高手了...
发表于:2007-12-28 17:50:252楼 得分:0
vbscript code
sdatetimestring = "20071228120000" ? dateserialmid(sdatetimestring,1,4),mid(sdatetimestring,5,2),mid(sdatetimestring,7,2))+timeserialmid(sdatetimestring,9,2),mid(sdatetimestring,11,2),mid(sdatetimestring,13,2)) 12/28/2007 12:00:00 pm
发表于:2007-12-28 17:51:343楼 得分:20
sql code
select dateserial(mid(report_date,1,4),mid(report_date,5,2),mid(report_date,7,2)) +timeserial(mid(report_date,9,2),mid(report_date,11,2),mid(report_date,13,2)) from yourtable
发表于:2007-12-28 23:32:264楼 得分:0
cdate(format("20071228120000","####-##-##   ##:##:##"))
发表于:2007-12-28 23:33:215楼 得分:0

format   函数
           

返回   variant   (string),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。

语法

format(expression[,   format[,   firstdayofweek[,   firstweekofyear]]])

format   函数的语法具有下面几个部分:

部分   说明  
expression   必要参数。任何有效的表达式。  
format   可选参数。有效的命名表达式或用户自定义格式表达式。  
firstdayofweek   可选参数。常数,表示一星期的第一天。  
firstweekofyear   可选参数。常数,表示一年的第一周。  


设置值

firstdayofweek   参数有下面设置:

常数   值   说明  
vbusesystem   0   使用   nls   api   设置。  
vbsunday   1   星期日(缺省)  
vbmonday   2   星期一  
vbtuesday   3   星期二  
vbwednesday   4   星期三  
vbthursday   5   星期四  
vbfriday   6   星期五  
vbsaturday   7   星期六  


firstweekofyear   参数有下面设置:

常数   值   说明  
vbusesystem   0   使用   nls   api   设置。  
vbfirstjan1   1   从包含一月一日的那一周开始(缺省)。  
vbfirstfourdays   2   从本年第一周开始,而此周至少有四天在本年中。  
vbfirstfullweek   3   从本年第一周开始,而此周完全在本年中。  


说明

格式化   作法  
数字   使用预先定义的命名数值格式或创建用户自定义数值格式。  
日期和时间   使用预先定义的命名日期/时间格式或创建用户自定义日期/时间格式。  
日期和时间序数   使用日期和时间格式或数值格式。  
字符串   创建自定义的字符串格式。  


如果在格式化数字时没有指定   format,format   会提供与   str   函数类似的功能,尽管它是国际化的。然而,以   format   作用在正数上不会保留正负号空间,而以   str   的话则会。

如果要格式化一个没有本地化的数值字符串,应该使用一个用户自定义的数值格式,以保证得到需要的外观。

注意   如果   calendar   属性设置是gregorian   ,并且format   指定了日期格式,那么,提供的   expression   必须是gregorian   。如果visual   basic   calendar   属性设置是   hijri,则提供的的   expression   必须是hijri   。

如果日历是gregorian,则   format   表达式的意义没有改变。如果日历是hijri   ,则所有的日期格式符号(例如,dddd,   mmmm,   yyyy   )有相同的意义,这些意义只应用于hijri   日历。格式符号保持英文,用于文本显示的符号(例如,am   和pm   )显示与该符号有关的字符串(英文或阿拉伯数字)。当日历是hijri   时,一些符号的范围会改变。

符号   范围  
d     1-30    
dd     1-30    
ww     1-51    
mmm     显示完整的月份名称(hijri   月份名称无缩写形式)    
y     1-355    
yyyy     100-9666    

format   函数示例
本示例显示用   format   函数做格式化输出的不同用法。对于日期分隔号(/),时间分隔号(:),以及   am/   pm   等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差异。在开发阶段,日期与时间是以短日期的格式,配合代码的国际标准来显示的。而在运行时,短日期则是根据系统的国际标准而定,而系统的国际标准和代码的国际标准可能并不相同。本示例中是假设国际标准为   english/united   states。

mytime   及   mydate   在开发环境下,使用系统的短日期设置显示出来的。

dim   mytime,   mydate,   mystr
mytime   =   #17:04:23#
mydate   =   #january   27,   1993#

'   以系统设置的长时间格式返回当前系统时间。
mystr   =   format(time,   "long   time")

'   以系统设置的长日期格式返回当前系统日期。
mystr   =   format(date,   "long   date")

mystr   =   format(mytime,   "h:m:s")         '   返回   "17:4:23"。
mystr   =   format(mytime,   "hh:mm:ss   ampm")         '   返回   "05:04:23   pm"。
mystr   =   format(mydate,   "dddd,   mmm   d   yyyy")         '   返回   "wednesday,   jan   27   1993"。
'   如果没有指定格式,则返回字符串。
mystr   =   format(23)         '   返回   "23"。

'   用户自定义的格式。
mystr   =   format(5459.4,   "##,##0。00")         '   返回   "5,459.40"。
mystr   =   format(334。9,   "###0。00")         '   返回   "334.90"。
mystr   =   format(5,   "0。00%")         '   返回   "500.00%"。
mystr   =   format("hello",   " <")         '   返回   "hello"。
mystr   =   format("this   is   it",   "> ")         '   返回   "this   is   it"。

发表于:2007-12-29 09:25:346楼 得分:0
谢谢   liuyann   呵呵   我在网上找了几天都没办法   菜鸟向你学习了  
发表于:2007-12-29 09:58:487楼 得分:0
问liuyann   我现在可以返回时间了,但是在where   后面对比较啊   这个能吗?   我试了下   有错误啊   为什么


快速检索

最新资讯
热门点击