วันพฤหัสบดีที่ 1 พฤศจิกายน พ.ศ. 2561

ตัวอย่างSQL Revisit 48 ชม.



' revisit in 48 hr, diag เดียวกัน 

select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn  
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48 
and v.pdx=v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

DATE Function ตัวอย่างการใช้งาน

ตัวอย่าง DATE Function

ADDDATE

ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days), DATE_ADD(expr,days)
mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY);
+---------------------------------------------------------+
| DATE_ADD('1998-01-02', INTERVAL 31 DAY)                 |
+---------------------------------------------------------+
| 1998-02-02                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT ADDDATE('1998-01-02', INTERVAL 31 DAY);
+---------------------------------------------------------+
| ADDDATE('1998-01-02', INTERVAL 31 DAY)                  |
+---------------------------------------------------------+
| 1998-02-02                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)
สำหรับ MySQL argument ที่ 2 ถ้าไม่กำหนดหน่วยจะเป็นวัน
mysql> SELECT ADDDATE('1998-01-02', 31);
+---------------------------------------------------------+
| DATE_ADD('1998-01-02', INTERVAL 31 DAY)                 |
+---------------------------------------------------------+
| 1998-02-02                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

Function DATE Mysql

Database SQL – Date Function

การใช้งาน Date function จะมีด้วยกันหลายรูปแบบ ผู้ใช้งานสามารถเลือกใช้ function ที่เหมือนสมกับความต้องการได้ โดยส่วนมาก database แบบ RDBMS จะรองรับ function date ตามข้อมูลดังนี้
Date FunctionExpressionDetail
  ADDDATE()  ADDDATE(expr,days)  เพิ่มจำนวนวัน
  ADDTIME()  ADDTIME(expr1,expr2)  เพิ่มจำนวนเวลา
  CONVERT_TZ()  CONVERT_TZ(dt,from_tz,to_tz)  เปลี่ยน timezone (GMT)
  CURDATE()  CURDATE()  แสดงวันปัจจุบัน
  CURRENT_DATE()  CURRENT_DATE()  แสดงวันปัจจุบัน
  CURRENT_TIME()  CURRENT_TIME()  แสดงเวลาปัจจุบัน
  CURRENT_TIMESTAMP()  CURRENT_TIMESTAMP()  แสดงวันและเวลาปัจจุบัน
  CURTIME()  CURTIME()  แสดงเวลาปัจจุบัน
  DATE_ADD()  DATE_ADD(date,INTERVAL expr unit)  เพิ่มจำนวนวัน
  DATE_FORMAT()  DATE_FORMAT(date,format)  กำหนดรูปแบบการแสดงผลวันเวลา
  DATE_SUB()  DATE_SUB(date,INTERVAL expr unit)  ลดจำนวนวัน
  DATE()  DATE(expr)  แสดงเฉพาะส่วนของวันที่
  DATEDIFF()  DATEDIFF(expr1,expr2)  คำนวณระยะห่างของวัน
  DAY()  DAY(date)  แสดงวันที่ของเดือน 1-31
  DAYNAME()  DAYNAME(date)  แสดงชื่อวันของสัปดาห์
  DAYOFMONTH()  DAYOFMONTH(date)  แสดงวันที่ของเดือน 1-31
  DAYOFWEEK()  DAYOFWEEK(date)  แสดงชื่อวันของสัปดาห์
  DAYOFYEAR()  DAYOFYEAR(date)  แสดงวันที่ของปี 1-366
  EXTRACT()  EXTRACT(unit FROM date)  แยกข้อมูลส่วนของวันเดือนปี
  FROM_DAYS()  FROM_DAYS(N)  วันที่ห่างจาก Gregorian calendar (1582)
  FROM_UNIXTIME()  FROM_UNIXTIME (unix_timestamp,format)  แสดงรูแบบวันที่แบบ Unix
  HOUR()  HOUR(time)  แยกข้อมูลส่วนของชั่วโมง
  LAST_DAY()  LAST_DAY(date)  แสดงวันสุดท้ายข้องเดือน (28,29,30,31)
  LOCALTIME()  LOCALTIME()  แสดงเวลาปัจจุบัน
  LOCALTIMESTAMP()  LOCALTIMESTAMP()  แสดงเวลาปัจจุบัน
  MAKEDATE()  MAKEDATE(year,dayofyear)  ใช้ day of year มาสร้าง วันเดือนปี
  MAKETIME()  MAKETIME(hour,minute,second)  สร้างเวลาจากตัวแปร ชั่วโมง,นาที,วินาที
  MICROSECOND()  MICROSECOND(expr)  แสดงข้อมูลเฉพาะ microsecond
  MINUTE()  MINUTE(time)  แสดงข้อมูลเฉพาะนาที
  MONTH()  MONTH(date)  แสดงข้อมูลเฉพาะเดือน
  MONTHNAME()  MONTHNAME(date)  แสดงข้อมูลชื่อเดือน
  NOW()  NOW()  แสดงวันและเวลาปัจจุบัน
  PERIOD_ADD()  PERIOD_ADD(P,N)  เพิ่มจำนวนเดือน (N) ใน (P) ด้วย format YYYYMM
  PERIOD_DIFF()  PERIOD_DIFF(P1,P2)  คำนวณระยะห่างของเดือน
  QUARTER()  QUARTER(date)  แสดงข้อมูล quarter (1-4)
  SEC_TO_TIME()  SEC_TO_TIME(seconds)  เปลี่ยนวินาทีเป็น format เวลา HH:MM:S
  SECOND()  SECOND(time)  แสดงข้อมูลเฉพาะวินาที
  STR_TO_DATE()  STR_TO_DATE(str,format)  เปลี่ยน string เป็น date format
  SUBDATE()  SUBDATE(expr,days)  ลดจำนวนวัน
  SUBTIME()  SUBTIME(expr1,expr2)  ลดจำนวนเวลา
  SYSDATE()  SYSDATE()  แสดงวันเวลาปัจจุบัน
  TIME_FORMAT()  TIME_FORMAT(time,format)  แสดงเวลาตาม format ที่ระบุ
  TIME_TO_SEC()  TIME_TO_SEC(time)  แปลงเวลาเป็นหน่วยวินาที (0-86400)
  TIME()  TIME(expr)  แสดงเฉพาะส่วนของเวลา
  TIMEDIFF()  TIMEDIFF(expr1,expr2)  คำนวนส่วนต่างของเวลา
  TIMESTAMP()  TIMESTAMP(expr)  แสดงวันเวลาตาม format
  TIMESTAMPADD()  TIMESTAMPADD (unit,interval,datetime_expr)  เพิ่มจำนวนเวลา
  TIMESTAMPDIFF()   TIMESTAMPDIFF (unit,datetime_expr1,datetime_expr2)  คำนวณส่วนต่างของวันเวลา
  TO_DAYS()  TO_DAYS(date)  แสดงจำนวนวัน ตั้งแต่ปีที่ 0
  UNIX_TIMESTAMP()  UNIX_TIMESTAMP(date)  แปลง epoch date หรือ UNIX timestamp
  UTC_DATE()  UTC_DATE()  แสดงวันที่ปัจจุบัน UTC
  UTC_TIME()  UTC_TIME()  แสดงเวลาปัจจุบัน UTC
  UTC_TIMESTAMP()  UTC_TIMESTAMP()  แสดงวันเวลาปัจจุบัน UTC
  WEEK()  WEEK(date[,mode])  แสดงเลขของสัปดาห์ในปี (1-53)
  WEEKDAY()  WEEKDAY(date)  แสดง weekday 0-6  (0 = วันจันทร์)
  WEEKOFYEAR()  WEEKOFYEAR(date)  แสดงเลขของสัปดาห์ในปี (1-53)
  YEAR()  YEAR(date)  แสดงข้อมูลปี
  YEARWEEK()  YEARWEEK(date)  แสดงข้อมู

วันอังคารที่ 2 ตุลาคม พ.ศ. 2561

Rufas สร้างDrive Boot USB อย่างง่าย


Rufusคือโปรแกรมที่ช่วยฟอร์แมทและสร้างUSBแฟลชไดรฟ์ที่สามารถบูทได้ เช่นคีย์ USB / pendrives, Memory Sticks, ฯลฯ
Rufus อาจจะเป็นประโยชน์อย่างยิ่งในกรณีที่:
  • คุณจำเป็นต้องสร้างสื่อการติดตั้ง USB จาก ISOs ที่สามารถบูตได้ (Windows, Linux, UEFI ฯลฯ )
  • คุณจำเป็นต้องทำงานในระบบที่ไม่ได้มีการติดตั้งระบบปฏิบัติการไว้ก่อนหน้า
  • คุณจำเป็นต้องแฟลชไบออสหรือเฟิร์มแวร์อื่น ๆ จาก DOS
  • คุณต้องการเรียกใช้ยูทิลิตี้ระดับต่ำ
แม้จะมีขนาดที่เล็กแต่Rufusมีทุกสิ่งที่คุณต้องการ!
มากไปกว่านั้น Rufusยังสามารถทำงานได้ รวดเร็ว ยกตัวอย่างเช่น Rufusมีความเร็วเกือบจะเป็นสองเท่าของ UNetbootin , Universal USB Installer หรือ Windows 7 USB download tool ในการสร้างไดรฟ์ USB ติดตั้งของ Windows 7 จากISO นอกจากนี้Rufusยังเร็วกว่าเล็กน้อยในการสร้างระบบปฏิบัติการLinuxที่สามารถบูทได้จากUSB จากISOs (1)
รายการ ISOs ที่Rufusสนับสนุนอย่างคร่าวๆ สามารถดูได้จากด้านล่างของหน้านี้ (2)

ดาวน์โหลด

การอัพเดทล่าสุด 2018.09.17:

วันอังคารที่ 11 กันยายน พ.ศ. 2561

วันพฤหัสบดีที่ 30 สิงหาคม พ.ศ. 2561

ทำsamba แชร์ไฟล์แบบกำหนดรหัสผ่าน แยกตามหน่วยงาน

 ตอนแรกเพิ่ม User เข้าไปในระบบลีนุกซ์ก่อน
# adduser peak
# passwd peak ระบบจะให้ใส่รหัสผ่าน 2 ครั้ง
***

ต่อไปแก้ไขไฟล์ /etc/samba/smb.conf
- ตรง security = user
- ตรงพาร์ทแชร์ท้ายไฟล์

[data]
path = /home/data
public = no
writable = yes
browseable = yes
valid users = peak
create mask = 0775
directory mask = 0775
force create mode = 0775
force directory mode = 0777

เสร็จแล้วรีสตาร์ท Samba

# /etc/init.d/samba restart

[share]
path = /home/PShare
public = yes
guest ok = yes
browseable = yes
writeable = yes
veto files = /*.mp3/*.avi/*.mpg/*.dat/*.flv/*.3pg/*.mp4/*.exe/*.wmv/*.MOV/