Mine

รูปภาพของฉัน
หาดใหญ่, ภาคใต้, Thailand
ชอบเอาใจ แต่ก็เอาแต่ใจ

วันจันทร์ที่ 30 สิงหาคม พ.ศ. 2553

หากต้องการเขียน SQL กำกับเสาร์-อาทิตย์ ใน PostgreSQL เขาก็มีนะ

สวัสดีค่ะ วันนี้ได้เข้าไปตอบกระทู้ใน hospital-os.com "อยากให้มีปฏิทินวันหยุดราชการในโปรแกรม Hospital OS"
ก็เลยนำมาฝากเป็น บทความกันค่ะ

การหาวันว่าวันที่นี้ตรงกับวันอะไร ใน 7 วัน (อาทิตย์ - เสาร์)
โดยที่
0 = วันอาทิตย์
1 = วันจันทร์
2 = วันอังคาร
3 = วันพุธ
4 = วันพฤหัส
5 = วันศุกร์
6 = วันเสาร์

สำหรับ SQL ที่จะหาค่าข้างต้น ดังนี้ค่ะ
SELECT
visit_begin_visit_time
,EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) as numday_of_week
,case when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 0)
then 'อาทิตย์'
when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 1)
then 'จันทร์'
when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 2)
then 'อังคาร'
when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 3)
then 'พุธ'
when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 4)
then 'พฤหัสบดี'
when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 5)
then 'ศุกร์'
when (EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) = 6)
then 'เสาร์'
end as day_of_week
from t_visit
Where
(EXTRACT(DOW FROM cast( (cast(substring(visit_begin_visit_time,1,4) as numeric) - 543) || substring(visit_begin_visit_time,5) as timestamp)) ) IN (0,6)

เท่านี้เราก็ได้ วันออกมาแล้วค่ะ ...

วันศุกร์ที่ 27 สิงหาคม พ.ศ. 2553

เคยต้องการเปลี่ยนอักษรตัวเล็กตัวใหญ่มั้ย..

สวัสดีค่ะ หายหน้าหายตากันไป ... คิดในแง่ที่ดีก็แอบซุ่มอยู่ อิอิ
พอดีกำลังร่าย ตอนที่ 3 ของ 18 แฟ้ม เลยนำเทคนิกเล็กๆน้อยมาฝากค่ะ

ระหว่างที่กำลังสร้างฐานข้อมูลจาก 18 แฟ้ม และสืบเนื่องว่าไม่อยากพิมพ์เอง
ก็ต้องใช้วิธีที่ถนัดสุด คือ copy and paste .... แต่ว่าข้อมูลในแฟ้มของ 18 แฟ้มนั้น
เป็นตัวอักษรตัวใหญ่ทั้งหมด และก็ไม่อยากให้มีปัญหาภายหลังเลยต้องปรับให้เป็นตัวเล็ก

ขั้นตอนดังนี้
1. copy ทั้ง column ที่เป็นชื่อ Field จาก Excel
2. นำไปวางใน Editplus
3. คลุมข้อความที่จะปรับเป็นตัวเล็ก (Ctrl+A)
4. ปรับให้เป็นตัวเล็กใช้ Ctrl+l หรือ ถ้าตัวเล็กอยากปรับเป็นตัวใหญ่ ใช้ Ctrl+u
5. เท่านี้ก็ได้แล้วค่ะ

ต้องขอบคุณพี่กวงนะคะ ที่คอยชี้แนะ...