【发布时间】:2015-05-26 14:36:07
【问题描述】:
我有一张由 Excel 填充的表格。当在 mysql 中运行选择查询时,列中的日期根据我系统的时区显示。 但是当我使用 jdbc 连接在 java 中运行相同的查询时,我没有得到 excel 中存在的正确值。 我知道这是时区的问题。请指导我对选择查询需要进行的更改
以下查询的结果为 NULL。
SELECT * FROM mysql.time_zone;
SELECT * FROM mysql.time_zone_name;
只是为了详细说明这个问题,当我在 mysql 服务器中对日期运行选择查询时,我得到了列的正确日期值。但是当我通过 java 程序运行相同的程序时,我会将转换后的值转换为不同的时区。
java代码如下:-
resultList=(List<FosProd>)getEntityManager().createNativeQuery("select fe, count(ldcfe) as Ttlv, count(IF(ldcfe='PTP',1,NULL)) as PTP,DAY(ludfe) as dayte from (select FOS_NAME as fe,Last_Disposition_Code_FOS as ldcfe,Last_Updated_Date_FOS as ludfe from kic.master_mis group by ALLOCATION_DATE,ALLOCATION_BUCKET,BILLED_ID,CUSTOMER_NAME,TOTAL_OUTSTANDING) as s1 where monthname(ludfe)=\"NOVEMBER\" GROUP BY MONTH(ludfe), DAY(ludfe),fe;", FosProd.class).getResultList();
SELECT 中的 DAY 函数为我提供转换后的值。 请帮忙。
public class FosProd implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Size(max = 50)
@Column(name = "fe")
private String fe;
@Basic(optional = false)
@NotNull
@Column(name = "Ttlv")
private long ttlv;
@Basic(optional = false)
@NotNull
@Column(name = "PTP")
@Id
private long ptp;
@Column(name = "dayte")
private Integer dayte;
【问题讨论】:
-
Excel 中有什么内容?数据库中有什么?那么你在 Java 中得到了什么?任何可能为您的问题提供一些线索的东西????
-
Excel 是一个 Msexcel 电子表格。 DB是mysql数据库。只是为了详细说明这个问题,当我在 mysql 服务器中对日期运行选择查询时,我得到了正确的日期值。但是当我通过 java 程序运行相同的程序时,我得到了转换后的值。
-
如果你包含java代码会很有帮助。