-
-
luofei369 初学数据Lv2
发表于2021-4-7 14:59
悬赏1
已解决
这是我建立的主题表主表


这两个字段是日期型的 无时分秒

但是到最终计算结果的表格里就带了时分秒

creat_at 字段本身带有时分秒
然后结果是这样

我在表格里是直接取的这个主题表的这两个字段 没有做任何处理

luofei369 发表于 2021-4-7 16:06
带时分秒的数据成这样了.....后面多了个.0
实在不行用datetostr函数处理吧 ,把字段类型改回日期类型
在分析表的显式表达式中写datetostr(self.txt,'yyyy-mm-dd')

datetostr函数说明如下
DATETOSTR
定义:DATETOSR(D), 或DATETOSR(D,C)
将一日期转变成字符串。
参数:
D 要转换为字符串的日期,也可以是字符串。
C 字符串的格式,
1、可忽略此参数。忽略此参数后,默认为yyyy-mm-dd
2、字符串格式中,y表示年,m表示月,d表示日
3、字符串格式中,如果是小写字母(y,m,d),则返回值取阿拉伯数字(123等);如果是大写字母(Y,M,D),返回值为汉字(一二三等)
4、字符串格式中,支持三个连续的mmm,表示将月份转换成英文
示例:
例如,日期常量为#2006-10-01#
DATETOSTR(#2006-10-01#)=2006-10-01
DATETOSTR(#2006-10-01#,"yyyy-mm-dd")=2006-10-01
DATETOSTR(#2006-10-01#,"yyyy年mm月dd日")=2006年10月01日
DATETOSTR(#2006-10-01#,"YYYY年MM月DD日")=二零零六年十月一日
DATETOSTR(#2006-10-01#,"yy年mm月dd")=06年10月01
DATETOSTR(#2006-10-01#,"YY年MM月DD")=零六年十月一
下面的示例中,参数为字符串表示的日期:
DATETOSTR('20010801','ddmmmyyyy')=08 Aug 2001
下面的示例中,函数的参数为报表模板中使用的日期型的报表参数变量:
DATETOSTR(@bbq,'yyyy年mm月dd日'),其中@bbq为日期型的报表参数变量。例如,报表模板中在表头上显示数据期时,常这样设置:
“数据期:<#=datetostr(@month,'yyyy年mm月')#>”。
12个回答
xxxl 发表于 2021-4-7 15:05
字段在表格中设置是什么数据类型
我主题表如果设置不缓存 那个带时分秒就能完整显示了 不带时分秒的 还是会带00:00:00
但是如果设置缓存在内存中 所有的日期就都变成 带时分秒了并且时分秒都变为了00:00:00 无论真实数据是有时分秒还是无时分秒都是00:00:00
luofei369 发表于 2021-4-7 15:13
我主题表如果设置不缓存 那个带时分秒就能完整显示了 不带时分秒的 还是会带00:00:00
但是如果设置缓 ...
您用的是sql主题表吗 表格里的数据类型换成字符型呢

带时分秒的数据成这样了.....后面多了个.0
luofei369 发表于 2021-4-7 16:06
带时分秒的数据成这样了.....后面多了个.0
实在不行用datetostr函数处理吧 ,把字段类型改回日期类型
在分析表的显式表达式中写datetostr(self.txt,'yyyy-mm-dd')

datetostr函数说明如下
DATETOSTR
定义:DATETOSR(D), 或DATETOSR(D,C)
将一日期转变成字符串。
参数:
D 要转换为字符串的日期,也可以是字符串。
C 字符串的格式,
1、可忽略此参数。忽略此参数后,默认为yyyy-mm-dd
2、字符串格式中,y表示年,m表示月,d表示日
3、字符串格式中,如果是小写字母(y,m,d),则返回值取阿拉伯数字(123等);如果是大写字母(Y,M,D),返回值为汉字(一二三等)
4、字符串格式中,支持三个连续的mmm,表示将月份转换成英文
示例:
例如,日期常量为#2006-10-01#
DATETOSTR(#2006-10-01#)=2006-10-01
DATETOSTR(#2006-10-01#,"yyyy-mm-dd")=2006-10-01
DATETOSTR(#2006-10-01#,"yyyy年mm月dd日")=2006年10月01日
DATETOSTR(#2006-10-01#,"YYYY年MM月DD日")=二零零六年十月一日
DATETOSTR(#2006-10-01#,"yy年mm月dd")=06年10月01
DATETOSTR(#2006-10-01#,"YY年MM月DD")=零六年十月一
下面的示例中,参数为字符串表示的日期:
DATETOSTR('20010801','ddmmmyyyy')=08 Aug 2001
下面的示例中,函数的参数为报表模板中使用的日期型的报表参数变量:
DATETOSTR(@bbq,'yyyy年mm月dd日'),其中@bbq为日期型的报表参数变量。例如,报表模板中在表头上显示数据期时,常这样设置:
“数据期:<#=datetostr(@month,'yyyy年mm月')#>”。
xxxl 发表于 2021-4-7 16:10
实在不行用datetostr函数处理吧 ,把字段类型改回日期类型
在分析表的显式表达式中写datetostr(self.txt, ...
好像是错的 我写的是datetostr(self.txt,'yyyy-mm-dd hh:nn:ss')
还是这样,我是怀疑数据转到内存中的时候 时分秒就已经丢失了 所以再怎么转换都是没用的
