BMS-HOSxP Community
		HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: BeerZaa ที่ กันยายน 21, 2013, 02:21:54 AM
		
			
			- 
				จะดึงจากตาราง opitemreceมา เช่น  20/09/2556 แปลง เป็น 20 กันยายน 2556 เขียนสคริปยังงัยครับ
 แล้วสามารถแปลง เป็นเลขไทยได้ไหมครับ
 
 
 ขอบคุณครับ :D :D ;D
- 
				ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
 Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['vstdate']);
- 
				ขอบคุณครับจะลองดูครับ ;D
			
- 
				แล้วถ้าเป็น เลขไทย จะทำไ้ด้ไหมครับ
			
- 
				เขียน 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;
- 
				 ;D เดี๋ยวลองครับ ขอบคุณครับ
			
- 
				แล้วถ้าเป็น เลขไทย จะทำไ้ด้ไหมครับ
 
 
 เกรงว่าจะมิได้ครับท่าน หรืออาจจะได้ก็มิทราบได้ขอรับ กระผมก็ไม่เคยได้ทำ แต่แปลงปี จาก ค.ศ. เป็น พ.ศ. ก็หรูแล้วกระมัง
- 
				ถ้าให้แสดงวันที่ปัจจุบัน จะเขียนอย่างไรใน report designer 
			
- 
				ใช้ system variable แทนได้ไหมครับ
			
- 
				ใช้ system variable แทนได้ไหมครับ
 
 รบกวนหน่อยครับ ใช้อย่างไรครับ ขอบคุณมากครับ
- 
				ตามรูปครับ
			
- 
				ตามรูปครับ
 
 จะให้แสดงเป็นแบบไทยได้เปล่าครับและจะวางแบบนี้ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
 Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['vstdate']);
 
 โดยใช้system date ได้เปล่า ครับ ขอบคุณมากครับ
- 
				ลองศึกษาจากตัวอย่างที่ทำไว้นะครับ
 http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=32703.0
- 
				มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์  
			
- 
				มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์  
 
 
 ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
 Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['dchdate']);
- 
				มันมีปัญหาอยู่ว่าการออกใบรับรองแพทย์ที่ตึกผู้ป่วยใน วันที่ ที่ออกใบรับรองแพทย์ ตามรูปจะใช้ดึงจาก vstdate พยาบาลเค้าทักมาว่าใช้ไม่ได้จะต้องเป็นวันที่ที่พิมพ์ใบรับรองแพทย์  
 
 
 ใช้ variable ครับ วางคำสั่งนี้ลงไปครับ
 Value :=  FormatThaiDate('d mmmm yyyy', DBPipeline['dchdate']);
 
 มีไมที่ออกหลังจากการดิสชาร์จ1วัน
- 
				ก็แปลงได้เสมอครับ..จะใช้ CurrentDate ก็ได้ครับ.. ไม่ต้องเชื่อม DBPipeLine
			
- 
				ใช้ CurrentDate แทน  FormatThaiDate หรือ ใช้  CurrentDate อย่างไรครับ ใช้ไม่เป็น อิอิอิ
			
- 
				ใช้ CurrentDate แทน  FormatThaiDate หรือ ใช้  CurrentDate อย่างไรครับ ใช้ไม่เป็น อิอิอิ
 
 
 
 ตามรูปครับ.. ลาก  SYSTEM VARIABLE มาวางตามต้องการ
- 
				รันในสายฟ้า ประมาณนี้ก็ได้ครับ
 
 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"