บทความ

กำลังแสดงโพสต์จาก พฤศจิกายน, 2019

Oracle create index field datetime ด้วย Function-based indexes

บ่อยครั้งที่เรามีข้อมูลเก็บใน field ที่เป็น data type Datetime และมีความจำเป็นต้อง search ด้วยเงื่อนไขของ field นี้ โดยปรกติ เราจะสร้าง index บน Oracle ใน field ที่เราใช้เป็นเงื่อนไข เช่น create index f_datetime_indx on my_table(f_datetime); หากเราทำการค้นหา เช่น select * from my_table where f_datetime = sysdate; คำสั่งแบบนี้ Oracle จะใช้ index ในการทำงาน แต่ถ้าหากเราต้องการ Query ข้อมูลทั้งวันเรามักจะใช้คำสั่ง trunc(d) เช่น select * from my_table where trunc(f_datetime) = trunc(sysdate) ปัญหาจะเกิดขึ้นทันทีเพราะ Oracle จะไม่ใช้ index และจะกลายเป็น Full table scan แนวทางแก้คือให้ใช้   Function-based indexes ตามตัวอย่าง create index f_datetime_indx on my_table(trunc(f_datetime)); เพียงเท่านี้เราสามารถ Query field date โดยใช้ function trunc ใน where condition ได้เลย และ oracle จะใช้ index ในการทำงาน

Short if java ตัวอย่าง Java Short Hand If .. Else

ตัวอย่างการเขียน If .. Else ใน Java แบบ Short Hand Syntax variable = (condition) ? expressionTrue :  expressionFalse; Example Code    public class Test {     public static void main (String args[]){         String condition="Test";         boolean result;                 //Example for Standard JAVA IF ELSE         if("Test".equals(condition)){             result=true;         }else{             result=false;         }         System.out.println("Result Standard Java IF ELSE : "+result);                 //Example for Short Hand JAVA IF ELSE         result="Test".equals(condition)?true:false;                  System.out.println("Result Short Hand Java IF ELSE : "+result);     } } ผลจากการ Run Java Program Result Standard Java IF ELSE : true Result Short Hand Java IF ELSE : true

ตัวอย่าง Java Base64 Encoding and Decoding

ตัวอย่าง Java Code ในการทำ Encode และ Decode   ด้วย Base64 เป็นการ Encode อย่างง่ายสุดนะครับ สำหรับข้อมูลที่ไม่ได้ต้องการปิดบังหรือ Privacy มาก เพราะว่า สามารถ Decode กลับมาเป็นข้อมูลจริง ได้ง่ายมากๆ import org.apache.commons.codec.binary.Base64; public class TestEncode {     /**      * @param args      */     public static void main(String[] args) {         String input="data_for_encode";         byte[] bytes = Base64.encodeBase64(input.getBytes());         System.out.println("Encode " + new String(bytes));         byte[] decodedBytes = Base64.decodeBase64(bytes);         System.out.println("Decode " + new String(decodedBytes));     } } ผลที่ได้จากการ Run ก็ตามรูปต้านล่างเลย Encode ZGF0YV9mb3JfZW5jb2Rl Decode data_for_encode