Date 将yyyymmdd转换为日期以进行记录选择
我是一个水晶新手,在SQL命令方面经验有限 这是我的问题 我的数据库以yyyymmdd数字格式存储日期。我创建了一个日期范围参数字段,允许用户选择日期范围。当我尝试将{日期范围}添加到记录选择中时,我会收到一条错误消息,上面说“此处需要一个数字范围”,显然是因为我的{日期范围}字段正在查找日期而不是数字。我相信我要做的就是把我的日期转换成日期格式,但我不知道怎么做 有人能告诉我怎么做吗Date 将yyyymmdd转换为日期以进行记录选择,date,crystal-reports,Date,Crystal Reports,我是一个水晶新手,在SQL命令方面经验有限 这是我的问题 我的数据库以yyyymmdd数字格式存储日期。我创建了一个日期范围参数字段,允许用户选择日期范围。当我尝试将{日期范围}添加到记录选择中时,我会收到一条错误消息,上面说“此处需要一个数字范围”,显然是因为我的{日期范围}字段正在查找日期而不是数字。我相信我要做的就是把我的日期转换成日期格式,但我不知道怎么做 有人能告诉我怎么做吗 非常感谢,谢谢我没有Crystal来检查语法,但通常需要将日期范围转换为数值,并在记录选择公式中使用这些值 该
非常感谢,谢谢我没有Crystal来检查语法,但通常需要将日期范围转换为数值,并在记录选择公式中使用这些值 该值将为 tonumber(totext(最大值({?ParameterDateRange}),'yyyyMMdd')) FROM值将为 tonumber(totext(最小值({?ParameterDateRange}),'yyyyMMdd')) 所以公式可能是这样的
{YourField} IN tonumber(totext(Minimum ({?DateRange}),'yyyyMMdd')) TO tonumber(totext(Maximum({?DateRange}),'yyyyMMdd'))
您还可以使用
CDate
功能将数字转换为日期
CDate(ToNumber(Mid(ToText(20141231),1,4)),ToNumber(Mid(ToText(20141231),5,2)),ToNumber(Mid(ToText(20141231),7,2)))
检查文档的链接
试试:
{table.date} IN ToText(Minimum({?DateRange}),"yyyymmdd") TO ToText(Maximum({?DateRange}),"yyyymmdd")