ผู้เขียน หัวข้อ: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ  (อ่าน 28931 ครั้ง)

0 สมาชิก และ 2 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ BeerZaa

  • Newbie
  • *
  • กระทู้: 12
  • Respect: 0
    • ดูรายละเอียด
    • banmi hospital
ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« เมื่อ: กันยายน 21, 2013, 02:21:54 AM »
0
จะดึงจากตาราง opitemreceมา เช่น  20/09/2556 แปลง เป็น 20 กันยายน 2556 เขียนสคริปยังงัยครับ
แล้วสามารถแปลง เป็นเลขไทยได้ไหมครับ
 

ขอบคุณครับ :D :D ;D
 

ออฟไลน์ golf_win

  • Hero Member
  • *****
  • กระทู้: 3,481
  • Respect: +112
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #1 เมื่อ: กันยายน 21, 2013, 16:07:46 PM »
0
ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['vstdate']);
โรงพยาบาลเจ็ดเสมียน จังหวัดราชบุรี
Start 19-1-51    35 station
HOSxP  3.59.5.18 Activate License
Tel. 032-305096-7 ต่อ 118
Web. http://csmhos.thaiddns.com:8080
         http://csmhos.thaieasydns.com:8080

ออฟไลน์ BeerZaa

  • Newbie
  • *
  • กระทู้: 12
  • Respect: 0
    • ดูรายละเอียด
    • banmi hospital
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #2 เมื่อ: กันยายน 21, 2013, 22:00:33 PM »
0
ขอบคุณครับจะลองดูครับ ;D
 

ออฟไลน์ BeerZaa

  • Newbie
  • *
  • กระทู้: 12
  • Respect: 0
    • ดูรายละเอียด
    • banmi hospital
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #3 เมื่อ: กันยายน 22, 2013, 12:05:49 PM »
0
แล้วถ้าเป็น เลขไทย จะทำไ้ด้ไหมครับ
 

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 414
  • Respect: +12
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #4 เมื่อ: กันยายน 24, 2013, 11:53:58 AM »
0
เขียน stored function ไว้ใช้เอง
create function ThaiDate (param1 date) returns varchar(40)
begin
   declare cdate varchar(40);
   declare nmonth int;
   declare cmonth varchar(40);
   declare i int default 0;
   set nmonth=month(param1);
   set cmonth='';
   set cmonth=if(nmonth=1,'มกราคม',cmonth);
   set cmonth=if(nmonth=2,'กุมภาพันธ์',cmonth);
   set cmonth=if(nmonth=3,'มีนาคม',cmonth);
   set cmonth=if(nmonth=4,'เมษายน',cmonth);
   set cmonth=if(nmonth=5,'พฤษภาคม',cmonth);
   set cmonth=if(nmonth=6,'มิถุนายน',cmonth);
   set cmonth=if(nmonth=7,'กรกฎาคม',cmonth);
   set cmonth=if(nmonth=8,'สิงหาคม',cmonth);
   set cmonth=if(nmonth=9,'กันยายน',cmonth);
   set cmonth=if(nmonth=10,'ตุลาคม',cmonth);
   set cmonth=if(nmonth=11,'พฤศจิกายน',cmonth);
   set cmonth=if(nmonth=12,'ธันวาคม',cmonth);
   set cdate=concat(day(param1),' ',cmonth,' ',year(param1)+543);
   set cdate=replace(cdate,'0','๐');
   set cdate=replace(cdate,'1','๑');
   set cdate=replace(cdate,'2','๒');
   set cdate=replace(cdate,'3','๓');
   set cdate=replace(cdate,'4','๔');
   set cdate=replace(cdate,'5','๕');
   set cdate=replace(cdate,'6','๖');
   set cdate=replace(cdate,'7','๗');
   set cdate=replace(cdate,'8','๘');
   set cdate=replace(cdate,'9','๙');
   return cdate;
end;
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

ออฟไลน์ BeerZaa

  • Newbie
  • *
  • กระทู้: 12
  • Respect: 0
    • ดูรายละเอียด
    • banmi hospital
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #5 เมื่อ: กันยายน 30, 2013, 21:15:59 PM »
0
 ;D เดี๋ยวลองครับ ขอบคุณครับ
 

ออฟไลน์ บิ๊กเบิร์ด

  • Full Member
  • ***
  • กระทู้: 203
  • ศรัทธา
  • Respect: +11
    • ดูรายละเอียด
    • http://lo.moph.go.th
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #6 เมื่อ: ตุลาคม 04, 2013, 09:22:37 AM »
0
แล้วถ้าเป็น เลขไทย จะทำไ้ด้ไหมครับ

เกรงว่าจะมิได้ครับท่าน หรืออาจจะได้ก็มิทราบได้ขอรับ กระผมก็ไม่เคยได้ทำ แต่แปลงปี จาก ค.ศ. เป็น พ.ศ. ก็หรูแล้วกระมัง
กัมปนาท  บุตรจันทร์  (bigbird)
นวก.คอมพิวเตอร์ @สสจ.เลย
mybigbird1983@gmail.com
blog : http://bigbird1983.blogspot.com/
---------------------------------------------------
วิธีใส่ลายเซ็น เพื่อแนะนำตัวเอง

ขอบคุณ ที่ก

ออฟไลน์ mslangu

  • Hero Member
  • *****
  • กระทู้: 626
  • Respect: 0
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #7 เมื่อ: กุมภาพันธ์ 02, 2015, 10:30:47 AM »
0
ถ้าให้แสดงวันที่ปัจจุบัน จะเขียนอย่างไรใน report designer
อรรถกร ลัดเลีย โรงพยาบาลละงู 074-773563
ขึ้นระบบ HoSxP วันที่ 4 พ.ย. 2552 โดยทีมงาน รพ.ปานะเระ รพ.ไม้แก่น รพ.ทุ่งยางแดง และขึ้นระบบ
HOSxP_PCU และ DATACENTER กับ BMS
Server IBM Intel Xeon Quad-Core E5504 2.0GHz, 4MB L3 Cache RAM 4+16 GB HD SAS 15K 147GBx2 Raid 1
CentOS 5.4-64 bit
HoSxP v.3.57.xx.xx(ตามไปเรื่อย ๆ) MySQL 5.5.34-32.0
ระบบเก่า MITNET
ขอบคุณ BMS ที่พัฒนาโปรแกรมดี ๆ อย่างต่อเนื่องครับ

ออฟไลน์ Bond_007

  • Hero Member
  • *****
  • กระทู้: 1,533
  • เมื่อก่อนเคยรักมากเท่าไหร่มันยังคงรักมากเท่านั้น
  • Respect: +2
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #8 เมื่อ: กุมภาพันธ์ 02, 2015, 10:35:28 AM »
0
ใช้ system variable แทนได้ไหมครับ
โรงพยาบาลศิริเวชลำพูน
Hosxp version 3.53.7.16
ขอขบคุณ อาจารย์ชัยพร,อ.อ็อด,อ.เกื้อ,พี่เอก,พี่กิติศักดิ์,พี่เข้ม,พี่ไสว,พี่ terminator 2010,พี่pikepid,พี่udomchock ,พี่ขวด,พี่เจมส์,ป๋าJdadmin,พี่กานดา admin ทุกๆท่าน และนางฟ้า BMS

ทำเพื่อใครสักคนฉันได้ทำเพื่อความรัก
ร้องให้สักคนฉันก็ร้องจากหัวใจ
รักที่มันต้องจบมันก็ยังงดงาม ฉันยังจำไว้

Nologo How to be hosxp star

ออฟไลน์ mslangu

  • Hero Member
  • *****
  • กระทู้: 626
  • Respect: 0
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #9 เมื่อ: กุมภาพันธ์ 02, 2015, 10:42:02 AM »
0
ใช้ system variable แทนได้ไหมครับ
รบกวนหน่อยครับ ใช้อย่างไรครับ ขอบคุณมากครับ
อรรถกร ลัดเลีย โรงพยาบาลละงู 074-773563
ขึ้นระบบ HoSxP วันที่ 4 พ.ย. 2552 โดยทีมงาน รพ.ปานะเระ รพ.ไม้แก่น รพ.ทุ่งยางแดง และขึ้นระบบ
HOSxP_PCU และ DATACENTER กับ BMS
Server IBM Intel Xeon Quad-Core E5504 2.0GHz, 4MB L3 Cache RAM 4+16 GB HD SAS 15K 147GBx2 Raid 1
CentOS 5.4-64 bit
HoSxP v.3.57.xx.xx(ตามไปเรื่อย ๆ) MySQL 5.5.34-32.0
ระบบเก่า MITNET
ขอบคุณ BMS ที่พัฒนาโปรแกรมดี ๆ อย่างต่อเนื่องครับ

ออฟไลน์ Bond_007

  • Hero Member
  • *****
  • กระทู้: 1,533
  • เมื่อก่อนเคยรักมากเท่าไหร่มันยังคงรักมากเท่านั้น
  • Respect: +2
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #10 เมื่อ: กุมภาพันธ์ 02, 2015, 11:00:43 AM »
0
ตามรูปครับ
โรงพยาบาลศิริเวชลำพูน
Hosxp version 3.53.7.16
ขอขบคุณ อาจารย์ชัยพร,อ.อ็อด,อ.เกื้อ,พี่เอก,พี่กิติศักดิ์,พี่เข้ม,พี่ไสว,พี่ terminator 2010,พี่pikepid,พี่udomchock ,พี่ขวด,พี่เจมส์,ป๋าJdadmin,พี่กานดา admin ทุกๆท่าน และนางฟ้า BMS

ทำเพื่อใครสักคนฉันได้ทำเพื่อความรัก
ร้องให้สักคนฉันก็ร้องจากหัวใจ
รักที่มันต้องจบมันก็ยังงดงาม ฉันยังจำไว้

Nologo How to be hosxp star

ออฟไลน์ mslangu

  • Hero Member
  • *****
  • กระทู้: 626
  • Respect: 0
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #11 เมื่อ: กุมภาพันธ์ 02, 2015, 11:24:56 AM »
0
ตามรูปครับ
จะให้แสดงเป็นแบบไทยได้เปล่าครับและจะวางแบบนี้
ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['vstdate']);
โดยใช้system date ได้เปล่า ครับ ขอบคุณมากครับ
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 02, 2015, 11:27:53 AM โดย mslangu »
อรรถกร ลัดเลีย โรงพยาบาลละงู 074-773563
ขึ้นระบบ HoSxP วันที่ 4 พ.ย. 2552 โดยทีมงาน รพ.ปานะเระ รพ.ไม้แก่น รพ.ทุ่งยางแดง และขึ้นระบบ
HOSxP_PCU และ DATACENTER กับ BMS
Server IBM Intel Xeon Quad-Core E5504 2.0GHz, 4MB L3 Cache RAM 4+16 GB HD SAS 15K 147GBx2 Raid 1
CentOS 5.4-64 bit
HoSxP v.3.57.xx.xx(ตามไปเรื่อย ๆ) MySQL 5.5.34-32.0
ระบบเก่า MITNET
ขอบคุณ BMS ที่พัฒนาโปรแกรมดี ๆ อย่างต่อเนื่องครับ

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,357
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #12 เมื่อ: กุมภาพันธ์ 02, 2015, 11:29:02 AM »
0
ลองศึกษาจากตัวอย่างที่ทำไว้นะครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=32703.0
« แก้ไขครั้งสุดท้าย: กุมภาพันธ์ 02, 2015, 21:26:28 PM โดย udomchok »
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ mslangu

  • Hero Member
  • *****
  • กระทู้: 626
  • Respect: 0
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #13 เมื่อ: กุมภาพันธ์ 02, 2015, 11:43:02 AM »
0
มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์ 
อรรถกร ลัดเลีย โรงพยาบาลละงู 074-773563
ขึ้นระบบ HoSxP วันที่ 4 พ.ย. 2552 โดยทีมงาน รพ.ปานะเระ รพ.ไม้แก่น รพ.ทุ่งยางแดง และขึ้นระบบ
HOSxP_PCU และ DATACENTER กับ BMS
Server IBM Intel Xeon Quad-Core E5504 2.0GHz, 4MB L3 Cache RAM 4+16 GB HD SAS 15K 147GBx2 Raid 1
CentOS 5.4-64 bit
HoSxP v.3.57.xx.xx(ตามไปเรื่อย ๆ) MySQL 5.5.34-32.0
ระบบเก่า MITNET
ขอบคุณ BMS ที่พัฒนาโปรแกรมดี ๆ อย่างต่อเนื่องครับ

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #14 เมื่อ: กุมภาพันธ์ 02, 2015, 15:47:27 PM »
0
มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์ 

ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['dchdate']);
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ mslangu

  • Hero Member
  • *****
  • กระทู้: 626
  • Respect: 0
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #15 เมื่อ: กุมภาพันธ์ 02, 2015, 16:54:47 PM »
0
มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์ 

ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['dchdate']);
มีไมที่ออกหลังจากการดิสชาร์จ1วัน
อรรถกร ลัดเลีย โรงพยาบาลละงู 074-773563
ขึ้นระบบ HoSxP วันที่ 4 พ.ย. 2552 โดยทีมงาน รพ.ปานะเระ รพ.ไม้แก่น รพ.ทุ่งยางแดง และขึ้นระบบ
HOSxP_PCU และ DATACENTER กับ BMS
Server IBM Intel Xeon Quad-Core E5504 2.0GHz, 4MB L3 Cache RAM 4+16 GB HD SAS 15K 147GBx2 Raid 1
CentOS 5.4-64 bit
HoSxP v.3.57.xx.xx(ตามไปเรื่อย ๆ) MySQL 5.5.34-32.0
ระบบเก่า MITNET
ขอบคุณ BMS ที่พัฒนาโปรแกรมดี ๆ อย่างต่อเนื่องครับ

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #16 เมื่อ: กุมภาพันธ์ 02, 2015, 21:13:16 PM »
0
ก็แปลงได้เสมอครับ..จะใช้ CurrentDate ก็ได้ครับ.. ไม่ต้องเชื่อม DBPipeLine
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ mslangu

  • Hero Member
  • *****
  • กระทู้: 626
  • Respect: 0
    • ดูรายละเอียด
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #17 เมื่อ: กุมภาพันธ์ 03, 2015, 11:55:05 AM »
0
ใช้ CurrentDate แทน  FormatThaiDate หรือ ใช้  CurrentDate อย่างไรครับ ใช้ไม่เป็น อิอิอิ
อรรถกร ลัดเลีย โรงพยาบาลละงู 074-773563
ขึ้นระบบ HoSxP วันที่ 4 พ.ย. 2552 โดยทีมงาน รพ.ปานะเระ รพ.ไม้แก่น รพ.ทุ่งยางแดง และขึ้นระบบ
HOSxP_PCU และ DATACENTER กับ BMS
Server IBM Intel Xeon Quad-Core E5504 2.0GHz, 4MB L3 Cache RAM 4+16 GB HD SAS 15K 147GBx2 Raid 1
CentOS 5.4-64 bit
HoSxP v.3.57.xx.xx(ตามไปเรื่อย ๆ) MySQL 5.5.34-32.0
ระบบเก่า MITNET
ขอบคุณ BMS ที่พัฒนาโปรแกรมดี ๆ อย่างต่อเนื่องครับ

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #18 เมื่อ: กุมภาพันธ์ 04, 2015, 11:03:53 AM »
0
ใช้ CurrentDate แทน  FormatThaiDate หรือ ใช้  CurrentDate อย่างไรครับ ใช้ไม่เป็น อิอิอิ


ตามรูปครับ.. ลาก  SYSTEM VARIABLE มาวางตามต้องการ
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ najaxp

  • Newbie
  • *
  • กระทู้: 21
  • ยิ้มแย้มแจ่มใส ใส่ใจในงาน บริการดุจญาติมิตร
  • Respect: -1
    • ดูรายละเอียด
    • www.nlhospital.go.th
Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
« ตอบกลับ #19 เมื่อ: มกราคม 16, 2017, 10:48:02 AM »
0
รันในสายฟ้า ประมาณนี้ก็ได้ครับ

select concat(day(nextdate),"/",case when(Month(nextdate))="10" then "ต.ค."
                                     when(Month(nextdate))="11" then "พ.ย."
                                     when(Month(nextdate))="12" then "ธ.ค."
                                     when(Month(nextdate))="1" then "ม.ค."
                                     when(Month(nextdate))="2" then "ก.พ."
                                     when(Month(nextdate))="3" then "มี.ค."
                                     when(Month(nextdate))="4" then "เม.ย."
                                     when(Month(nextdate))="5" then "พ.ค."
                                     when(Month(nextdate))="6" then "มิ.ย."
                                     when(Month(nextdate))="7" then "ก.ค."
                                     when(Month(nextdate))="8" then "ส.ค."
                                     when(Month(nextdate))="9" then "ก.ย."
                                     else cast(nextdate as date)
                                     end,"/",year(nextdate)+543)  from oapp where vstdate="2017-01-04"
Admin
โรงพยาบาลนาจะหลวย อุบลราชธานี
Tel :(045) 379097-8 ต่อ 116
ขึ้นระบบ ปี 2553 โดยทีม BMS
Maintenance 2 Weeks+ช่วยตัวเองมาตลอด
Master+Slave HosXP : CenOs 6 ,MySQL 5.1
Server อื่นๆ : DHCP,Web Server,Firewall
ลงมือทำ สั่งสมความรู้และประสบการณ์