0

MYSQL クエリがあります

SELECT WEEKDAY(CreatedDate), 
    COUNT(CreatedDate), 
    CreatedDate FROM bug_List
GROUP BY 
    WEEKDAY(CreatedDate)

しかし、休止状態でWEEKDAY関数が見つかりませんでした。それを解決する最善の方法はありますか

ここでnativeSQLから試しましたが、空の配列オブジェクトを取得しました

query=session.createSQLQuery("SELECT weekday(CreatedDate), count(CreatedDate) FROM bug_list GROUP BY WEEKDAY(CreatedDate)");

         result=query.list();

        Iterator resultIterator = result.iterator();
        while(resultIterator.hasNext())
        {
            Object[] obj = (Object[]) resultIterator.next();
            for (int i = 0; i < obj.length; i++) {
                System.out.print(obj[i] + "\t");
                }
            System.out.println("");

        }
4

1 に答える 1

4

WEEKDAYは標準 SQL ではないため、Hibernate を使用する場合HibernateDialectは、次のようなカスタムを実行する必要があります...

registerFunction("weekday",
    new SQLFunctionTemplate(Hibernate.INTEGER, "to_char(?1,'D')"));

ここに見られるように。

于 2012-08-08T13:48:35.930 に答える