pgsql分别获取日期中的年、月、日,并处理前台展示有小数点的情况

使用extract()函数

select extract(YEAR from '需要处理的日期字段') from tablename; --获取年份
select extract(MONTH from '需要处理的日期字段') from tablename; --获取月份
select extract(DAY from '需要处理的日期字段') from tablename; --获取日

实际应用:

select extract(YEAR from yddgsj) dgyear,extract(MONTH from yddgsj) dgmonth,
extract(DAY from yddgsj) dgday from phjgb; 

虽然在数据库中看到的查询结果并没有问题,但是在前台界面展示,会以小数点的形式展示出来

pgsql分别获取日期中的年、月、日,并处理前台展示有小数点的情况_第1张图片

pgsql分别获取日期中的年、月、日,并处理前台展示有小数点的情况_第2张图片

这个时候我发现数据库中我查询到的年月日的字段类型,是double类型

pgsql分别获取日期中的年、月、日,并处理前台展示有小数点的情况_第3张图片

所以我尝试将数据类型转化下看看可不可以解决这个问题:

sql中类型转换需要使用cast (字段名 as 要转化的字段类型)

select cast(extract(YEAR from yddgsj) as character varying) dgyear,
cast(extract(MONTH from yddgsj) as character varying) dgmonth,
cast(extract(DAY from yddgsj) as character varying) dgday from phjgb; 

数据库中类型已经变成了字符串类型pgsql分别获取日期中的年、月、日,并处理前台展示有小数点的情况_第4张图片

运行到前台展示,也完美解决了这个问题

你可能感兴趣的:(数据库,postgresql,数据库,前端,sql)