BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: krathokman ที่ มกราคม 11, 2012, 16:05:56 PM
-
concat นี่ใช้ต่อ Field กับ Field ใช่ไหมครับ ถ้า Field A และ Field B ไม่เป็น Null ผลคือ
FieldAFieldB แต่ถ้าตัวใดตัวหนึ่งเป็น Null ผลคือ Null ไม่ทราบว่าผมเข้าใจถูกต้องหรือไม่คำถามคือ ผมไม่ทราบว่า FieldB จะเป็น Null หรือไม่ ไม่รู้ว่า User จะกรอกหรือไม่
ผมควรใช้อะไร หรือควรทำอย่างไร
-
concat นี่ใช้ต่อ Field กับ Field ใช่ไหมครับ ถ้า Field A และ Field B ไม่เป็น Null ผลคือ
FieldAFieldB แต่ถ้าตัวใดตัวหนึ่งเป็น Null ผลคือ Null ไม่ทราบว่าผมเข้าใจถูกต้องหรือไม่คำถามคือ ผมไม่ทราบว่า FieldB จะเป็น Null หรือไม่ ไม่รู้ว่า User จะกรอกหรือไม่
ผมควรใช้อะไร หรือควรทำอย่างไร
ลองดูแบบนี้ว่าได้ไหมครับ
concat(FieldA,IF(FieldB is null,'ว่าง','ไม่ว่าง'))
-
เข้าใจถูกแล้วครับ
string ที่เป็นค่าว่าง กับค่า NULL คือคนละค่ากัน
ค่าต่าง ๆ ที่มา concat กัน เมื่อมีค่าใดค่าหนึ่งเป็น NULL ผลจะออกมาเป็น NULL ครับ
แต่ใน SQL Query (สายฟ้า) ของ hosxp เราจะเห็นว่าค่าว่าง ( "" ) กับ NULL จะแสดงผลเหมือนกันทำให้เราแยกไม่ออก
แต่ถ้าใช้ MySQL Query Broswer ค่า null จะแสดงคำว่า null แทนช่องว่าง ๆ
เวลาเขียน sql ก็พยายามดักค่าที่เราไม่ต้องการด้วยครับ เช่น where field is not null and field <> ""
-
แหม่ะ ยังแวะเวียนบอร์ด HOSxP บ่อยๆ นะท่านนุ๊ก ;D ;D
-
แหม่ะ ยังแวะเวียนบอร์ด HOSxP บ่อยๆ นะท่านนุ๊ก ;D ;D
อย่าว่่าแต่บอร์ด HOSxP เลยพี่นอท
รพช.วัดโบสถ์ก็แวะเวียนไปบ่อย 555+
-
ได้ความรู้เพิ่ม...ขอบคุณมากเพราะแต่ก่อนใช้อย่างเดียว..555
-
แต่วิธีแก้สามารถใช้คำสั่งนี้ให้ได้ผลออกมาแสดงได้ครับอันนี้ยกตัวอย่างเท่านั้นต้องการประยุกต์ใช้ก็เปลี่ยนฟิวด์และตารางเอานะครับ
select concat(if(unitprice is null," ",unitprice),if(dosageform is null," ",dosageform)) as cc from drugitems
ไว้จะหาเวลาแวะไปนะครับพี่เดช