如何在数据库中导出某天、某时的文章数,然后做统计呢?接下来章郎虫就主要介绍to_char函数的简单使用,to_char函数格式,最后使用to_char函数把日期转成字符串。这里我博主使用的是PostgreSql数据库。
函数:TO_CHAR ( date [, fmt [, ‘nlsparam’] ])
关于这个格式其实很简单,主要就是将一个日期date转换成一个指定格式fmt的字符串。
如果你的数据库语言如果是英语,那么默认系统返回的月份就会是英文的;反之默认语言是中文就返回中文的。nlsparam就是用来改变这些显示。假设你想把数据库语言由汉语变成英语显示,则可以这样设置:nls_date_language=’english’。不过nlsparam基本可以不管它。
接下来主要讲讲fmt常用的格式。
1、- / , . ; :”text”
这些符号在to_char函数中都会显示出来,他们的作用就相当于把各元素分隔开来。“text”这个表示我们也可以用文字作为分隔。例如to_char(now(),’YYYY”年”mm”月”dd”日”‘)就会显示为“2012年08月17日”。
2、AM、PM和A.M.
中文环境下会把根据当前日期显示上午、下午,英文中就显示AM、PM了。
3、周的显示
D:一周之中的某天,返回的是序号1-7 ;DAY:一周之中的某天,不过返回的是星期几而已,如何显示和语言设置有关系;DY:一周之中的某天,显示缩写。
4、日期显示
YYYY:四位数的年份,YYY、YY、Y:依次表示后面3,2,1位的年,例如2012可以分别取值为012,12,2 ;
MM:2位月(1-12) ;MON:月的简称 ;MONTH:月的名称 ;
DD:月份中的某天(1-31) ;
5、时间显示
HH:表示小时,为12小时制,同hh12(1-12) ;HH12:表示小时,为12小时制(1-12) ;HH24: 表示小时,为24小时制(0-23) ;
MI:分钟数(0~59) ;
SS:秒(0-59) ;
其实还有很多格式,这里就不一一介绍了。
最后举个例子,如:sql>select to_char(now(),’YYYY”年”mm”月”dd”日” HH24″点”MI”分”SS”秒” dd/mm/YYYY MONTH(MON) DAY(DY)’) ;
运行后显示:2012年08月17日 13点01分51秒 17/08/2012 AUGUST (AUG) FRIDAY (FRI) ;