Convert Timestamp To Date Sql Oracle
วิธีการแก้ปัญหาเรื่อง date ระหว่าง java application กับ database oracle ปัญหาเกี่ยวกับ Date ระหว่าง java application กับ oracle database ที่มักเจอกันบ่อยๆ ซึ่งผมก็สรุปแนวทางและวิธีแก้ปัญหาไว้ดังนี้ 1. ปัญหาว่า database เก็บเป็น พ. ศ หรือ ค. ศ ให้ลอง run sql ดังนี้ select to_date('29/02/2008', 'dd/mm/yyyy') from dual; ถ้าเก็บเป็น ค. ศ. จะ run ผ่าน ถ้าเก็บเป็น พ. จะ run ไม่ผ่านเพราะ พ. 2008 ไม่มีวันที่ 29 เดือนกุมภาพันธ์ 2. การกำหนด Locale ของ java application หรือ java application server จะไปกำหนดที่ Control Panel -> Regional and Language Options -> Standards and formats ถ้ากำหนดเป็น thai Locale จะเป็น พ. ถ้ากำหนดเป็น English Locale จะเป็น ค. โดยสามารถ check ได้ว่า Locale ของเครื่องเป็น ค. หรือ พ. ได้จากคำสั่ง (new SimpleDateFormat("dd/MM/yyyy")(new Timestamp(rrentTimeMillis()))); คำสั่งนี้จะแสดง วัน/เดือน/ปี ของระบบโดยแสดง Locale ตาม default ของเครื่อง 3. ปกติคำสั่ง new Date(); ไม่ว่าเราจะ set Locale เป็น thai หรือ English ก็ตาม คำสั่งนี้จะแสดงค่าเป็น ค. ศ เสมอ เช่นเดียวกับ การกำหนด Locale ให้ SimpleDateFormat เช่น Locale lc = new Locale("th", "TH"); (new SimpleDateFormat("dd/MM/yyyy", lc)(new Timestamp(rrentTimeMillis()))); ค่าจะแสดงเป็นพ.
- การเปลี่ยนค่าตัวเลข ให้เป็นวันที่และเวลา ที่มักพบบน ระบบ Unix
- การใช้งานหน่วยเวลาใน ORACLE ระดับมิลลิวินาที – CoP PSU IT Blog
- รวมฟังก์ชั่นเกี่ยวกับ Unix Timestamp ของภาษาต่าง
- Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก|Blockchain | Defi | Full Stack Developer
- ถาด อาหาร หมา
- การใช้งานหน่วยเวลาใน ORACLE ระดับมิลลิวินาที – CoP PSU IT Blog
- การเปลี่ยนค่าตัวเลข ให้เป็นวันที่และเวลา ที่มักพบบน ระบบ Unix
การเปลี่ยนค่าตัวเลข ให้เป็นวันที่และเวลา ที่มักพบบน ระบบ Unix
บทความเกี่ยวกับ: Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก วันนี้จะนำเสอนวิธีการจัด Format วันที่ใน Oracle ครับ หลายๆ คนคงเคยเจอปัญหาเรื่องการแสดง พ. ศ. หรือ ชื่อเดือนให้เป็นภาษาไทยหรือจะเอาภาษาอะไรก็ได้ตามที่เราต้องการ วันนี้จะเอาวิธีง่่ายๆ มาฝากครับ หากคุณกำลังต้องการ จัด Format วันที่ใน Oracle ให้เป็นแบบนี้ คุณมาถูกที่แล้วครับ 20 พ. ย. 2554 20 NOV 2011 วิธีการทำแบบนี้ครับ SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', 'NLS_CALENDAR=''THAI BUDDHA'' NLS_DATE_LANGUAGE=THAI') FROM DUAL แบบนี้จะแสดง 28 ธ. ค. 2554 ครับ ตัวแปรที่สำคัญคือ - 'dd MON yyyy' อันนี้เป็น format ครับ MON เพราะผมต้องการตัวย่อเดือน - NLS_CALENDAR ตัวนี้แหละครับที่ทำให้ พศ แสดงเป็น พุทธศักราช 2554 (THAI BUDDHA) - NLS_DATE_LANGUAGE ตัวนี้กำหนดให้แสดงเดือนเป็นภาษาไทยครับ (THAI) ถ้าเราอยากแสดงเป็นภาษาอังกฤษ ก็ง่ายๆตามนี้ครับ SELECT TO_CHAR(SYSDATE, 'dd MON yyyy', ' NLS_DATE_LANGUAGE=AMERICAN') จะได้ผลเป็น 28 DEC 2011 ถ้าหากเราไม่ใส่ option อะไรเพิ่มเติมมันก็จะแสดงตามค่า default ที่ set ไว้ครับ อย่าง database ผม set เป็น ปี ค.