MySQL

Drupal and Unix Time

เคยเข้าไปแกะตัว Database ของ Drupal ดูอยู่หลายครั้ง

ครั้งแรกๆ นี่คงต้องยอมรับว่า งงเป็นไก่ตาแตกเลยดูอะไรไม่รู้เรื่องเลย ไม่ว่ามันเก็บอะไรบ้าง

จุดประสงค์หลัก ก็ืคือต้องการจะเขียนอะไรเพ่ิมเติม อย่างเช่น การดึงข้อมูลข่าว หรืออะไรก็แล้วแต่ที่ได้โพสไปล่าสุดออกมาโชว์ ทำนองนั้น

ลองคิดดูก็ไม่น่าจะมีอะไรมันก็น่าจะง่ายๆ นี่ ก็แค่ Query ข้อมูลที่มันเป็นข้อมูลล่าสุด น่าจะสามารถเช็คได้จากวันเวลาที่โพส์ จากนั้นก็แสดงว่าได้โพสไปเมื่อไหร่ เวลาใด เดือนอะไร

ลองแกะใน Database ดูปรากฏว่า Information ส่วนนี้มันเก็บไว้ใน Tabels ที่ชื่อว่า Node และข้อมูลที่แสดงวันเวลาที่สร้างอยู่ใน Field ที่ชื่อว่า Created

แต่ปรากฏว่าไอ้ข้อมูลที่เก็บไว้ใน Field Created นั้นมันดันเป็นตัวเลขอะไรก็ไม่รู้ ดูไปดูมาชักจะงงๆ แถมยังมี Type เป็น Int(11) ซะด้วยไม่ได้เป็น Date-Time อีกต่างหาก

นั่งมั่วๆ ทำๆ เลิกๆ อยู่นานเลย (นับเวลาเป็นอาทิตย์) กว่าจะรู้ว่า อ้อ นี่มันเป็นตัวเลข Unix Timestamp

ก็ใช้ SQL Command Query ข้อมูลมูลออกมาให้อยู่ในรูปแบบที่ต้องการได้เลย

mysql> select nid,vid,from_unixtime(created) from node;

หรือว่า
mysql> select nid,vid,date_format(from_unixtime(created),"%Y-%m-%d") from node;

Java : Connect Data base && Thai Language

กันลืมนะ จะได้ค้นง่ายๆ ทั้ง Method เลยแล้วกัน
private void openConnection(){
    Connection connection = null;
    try {
                // Load the JDBC driver
                // MySQL MM JDBC driver
                String driverName = "org.gjt.mm.mysql.Driver";
                Class.forName(driverName);
                // Create a connection to the database
                String serverName = "localhost";
                String mydatabase = "mydb";
                // a JDBC url
                String url = "jdbc:mysql://" + serverName +  "/" + mydatabase;
                url += "?useUnicode=true&characterEncoding=UTF-8";
                String username = "root";
                String password = "rootpassword";
                connection = DriverManager.getConnection(url, username, password);
                stmt = connection.createStatement();
        } catch (ClassNotFoundException e) {
                System.out.print("Can't Find JDBC Driver for connect Database");
        } catch (SQLException e) {
                System.out.print("Can't Connect Database");
        }
}
//@End Method openConection()

จุดสำคัญจริงๆ คงอยู่ตรง
url += "?useUnicode=true&characterEncoding=UTF-8";
นี่แหล่ะนะ
Syndicate content