我们的一个数据库设置了一个页面,用于打印包含各种地质信息的报告。有问题的数据库是一个FoxPro数据库,并包含一个日期字段,在FoxPro中格式化为mm / dd / yy。
报告表格中有一段代码
#LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")#
正在拉动drill_date并将其转换为请求的格式,并且在此过程中将获取所有1500条记录,没有钻取日期并添加默认的12/30/1899日期。
Boss不希望报告中的默认日期,但希望报告中的完整格式化日期(如果存在),因为它们确实有一些数据可以追溯到20世纪初,并且需要列出整个世纪
我正在尝试编写一个if / else语句,它将创建一个变量,d_date和store
LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")
如果字段已填满, 否则,如果日期为空,它将存储空字符串“”。
<cfif (EMPTY(qLithHead.drill_date))>
<cfset d_date=" ">
<cfelse>
<cfset d_date=#LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")#>
</cfif>
然后在报告的日期区域中,我只需调用d_date变量,无论其值如何:
#d_date#
无论如何,这是我想要完成的一般想法。我完全不确定CF语法。
感谢您提供的任何帮助。
谢谢! :)
答案 0 :(得分:1)
Coldfusion 9有一个isNull()函数,它返回一个布尔值:
<cfif isNull(qLithHead.drill_date)>
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSe9cbe5cf462523a0-3c4c0bb81223f1daffb-8000.html
或者,如果您没有运行CF9,可以尝试:
<cfif isDate(qLithHead.drill_date)>
或
<cfif Year(qLithHead.drill_date) EQ '1899'>
摆脱丑陋的时间戳