BMS-HOSxP Community
HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: Bond_007 ที่ สิงหาคม 27, 2012, 20:57:28 PM
-
ในตาราง patient ข้อมูลตาราง birthdate มีรูปแบบเป็น 19/02/2554 ถ้าผมอยากให้มันแสดงเป็นรูปแบบ 25540201 แบบนี้ต้องเขียนอย่างไรครับ
-
DATE_FORMAT(birthdate,"%Y%m%d")
-
ต้องเขียนแบบไหนครับ ผมเขียนไม่ออก ;D
select concat(fname," ",lname) as fullname,DATE_FORMAT(birthdate(),"%Y%m%d") from patient limit 100DATE_FORMAT(birthdate,"%Y%m%d")
-
ต้องเขียนแบบไหนครับ ผมเขียนไม่ออก ;D
select concat(fname," ",lname) as fullname,DATE_FORMAT(birthdate(),"%Y%m%d") from patient limit 100DATE_FORMAT(birthdate,"%Y%m%d")
ลองดูครับ
select concat(fname," ",lname) as fullname,
replace(birthday,"-","") as addate,/*ค.ศ.*/
concat(replace(birthday,"-","") +5430000) as bddate /*พ.ศ.*/
from patient
limit 100
-
ต้องเขียนแบบไหนครับ ผมเขียนไม่ออก ;D
select concat(fname," ",lname) as fullname,DATE_FORMAT(birthdate(),"%Y%m%d") from patient limit 100
ที่ผิดพลาดคือ
1. birthdate() มิใช่ function ไม่ต้องมีวงเล็บต่อท้าย
2. field birthdate ไม่มีในตาราง patient มีแต่ birthday ส่วน birthdate นั้นอยู่ในตาราง person
ต้องแก้ไขเป็น
select concat(fname," ",lname) as fullname,DATE_FORMAT(birthday,"%Y%m%d") from patient limit 100
ได้เป็น คศ. นะ เช่น 19691022
-
อาจารย์ครับถ้าต้องการให้เป็นปี พศ เช่น 25541022 ต้องทำยังไงต่อครับตอนนี้รันออกมาเป็น คศ ครับ
ต้องเขียนแบบไหนครับ ผมเขียนไม่ออก ;D
select concat(fname," ",lname) as fullname,DATE_FORMAT(birthdate(),"%Y%m%d") from patient limit 100
ที่ผิดพลาดคือ
1. birthdate() มิใช่ function ไม่ต้องมีวงเล็บต่อท้าย
2. field birthdate ไม่มีในตาราง patient มีแต่ birthday ส่วน birthdate นั้นอยู่ในตาราง person
ต้องแก้ไขเป็น
select concat(fname," ",lname) as fullname,DATE_FORMAT(birthday,"%Y%m%d") from patient limit 100
ได้เป็น คศ. นะ เช่น 19691022
-
ถ้าทำเป็นปี พ.ศ น่าจะเป็นแบบนี้ใช่ไหมคร้บ ;D
select date_format(birthday+5430000,'%Y%m%d') as birthday from patient limit 100
-
ถ้าทำเป็นปี พ.ศ น่าจะเป็นแบบนี้ใช่ไหมคร้บ ;D
select date_format(birthday+5430000,'%Y%m%d') as birthday from patient limit 100
1: select concat(date_format(birthday,'%Y%m%d')+5430000) as birthday from patient limit 100
or
2: select concat(replace(birthday,'-','')+5430000) as birthday from patient limit 100
1: ใช้ date_format function จะได้แต่ปี ค.ศ. แล้ว +5430000 จะเป็น ตัวแล้ว ต้องใช้ string function ช่วยเปลี่ยนเป็น พ.ศ.
2: ใช้ string function
-
ผมลองแบบนี้ก็ได้ออกมาครับ
select concat(fname," ",lname) as fullname,concat(DATE_FORMAT(birthday,"%Y")+543,DATE_FORMAT(birthday,"%m%d")) as cc from patient limit 100
หรือตามนี้ก็ได้ครับ
1: select concat(date_format(birthday,'%Y%m%d')+5430000) as birthday from patient limit 100
or
2: select concat(replace(birthday,'-','')+5430000) as birthday from patient limit 100