BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: BeerZaa ที่ กันยายน 21, 2013, 02:21:54 AM

หัวข้อ: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: BeerZaa ที่ กันยายน 21, 2013, 02:21:54 AM
จะดึงจากตาราง opitemreceมา เช่น  20/09/2556 แปลง เป็น 20 กันยายน 2556 เขียนสคริปยังงัยครับ
แล้วสามารถแปลง เป็นเลขไทยได้ไหมครับ
 

ขอบคุณครับ :D :D ;D
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: golf_win ที่ กันยายน 21, 2013, 16:07:46 PM
ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['vstdate']);
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: BeerZaa ที่ กันยายน 21, 2013, 22:00:33 PM
ขอบคุณครับจะลองดูครับ ;D
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: BeerZaa ที่ กันยายน 22, 2013, 12:05:49 PM
แล้วถ้าเป็น เลขไทย จะทำไ้ด้ไหมครับ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: woravet ที่ กันยายน 24, 2013, 11:53:58 AM
เขียน 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;
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: BeerZaa ที่ กันยายน 30, 2013, 21:15:59 PM
 ;D เดี๋ยวลองครับ ขอบคุณครับ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: บิ๊กเบิร์ด ที่ ตุลาคม 04, 2013, 09:22:37 AM
แล้วถ้าเป็น เลขไทย จะทำไ้ด้ไหมครับ

เกรงว่าจะมิได้ครับท่าน หรืออาจจะได้ก็มิทราบได้ขอรับ กระผมก็ไม่เคยได้ทำ แต่แปลงปี จาก ค.ศ. เป็น พ.ศ. ก็หรูแล้วกระมัง
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ กุมภาพันธ์ 02, 2015, 10:30:47 AM
ถ้าให้แสดงวันที่ปัจจุบัน จะเขียนอย่างไรใน report designer
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: Bond_007 ที่ กุมภาพันธ์ 02, 2015, 10:35:28 AM
ใช้ system variable แทนได้ไหมครับ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ กุมภาพันธ์ 02, 2015, 10:42:02 AM
ใช้ system variable แทนได้ไหมครับ
รบกวนหน่อยครับ ใช้อย่างไรครับ ขอบคุณมากครับ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: Bond_007 ที่ กุมภาพันธ์ 02, 2015, 11:00:43 AM
ตามรูปครับ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ กุมภาพันธ์ 02, 2015, 11:24:56 AM
ตามรูปครับ
จะให้แสดงเป็นแบบไทยได้เปล่าครับและจะวางแบบนี้
ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['vstdate']);
โดยใช้system date ได้เปล่า ครับ ขอบคุณมากครับ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: udomchok ที่ กุมภาพันธ์ 02, 2015, 11:29:02 AM
ลองศึกษาจากตัวอย่างที่ทำไว้นะครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=32703.0
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ กุมภาพันธ์ 02, 2015, 11:43:02 AM
มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์ 
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ กุมภาพันธ์ 02, 2015, 15:47:27 PM
มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์ 

ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['dchdate']);
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ กุมภาพันธ์ 02, 2015, 16:54:47 PM
มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์ 

ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['dchdate']);
มีไมที่ออกหลังจากการดิสชาร์จ1วัน
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ กุมภาพันธ์ 02, 2015, 21:13:16 PM
ก็แปลงได้เสมอครับ..จะใช้ CurrentDate ก็ได้ครับ.. ไม่ต้องเชื่อม DBPipeLine
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ กุมภาพันธ์ 03, 2015, 11:55:05 AM
ใช้ CurrentDate แทน  FormatThaiDate หรือ ใช้  CurrentDate อย่างไรครับ ใช้ไม่เป็น อิอิอิ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ กุมภาพันธ์ 04, 2015, 11:03:53 AM
ใช้ CurrentDate แทน  FormatThaiDate หรือ ใช้  CurrentDate อย่างไรครับ ใช้ไม่เป็น อิอิอิ


ตามรูปครับ.. ลาก  SYSTEM VARIABLE มาวางตามต้องการ
หัวข้อ: Re: ขอวิธี เขียน sql แปลงวันที่ หน่อยครับ
เริ่มหัวข้อโดย: najaxp ที่ มกราคม 16, 2017, 10:48:02 AM
รันในสายฟ้า ประมาณนี้ก็ได้ครับ

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"