BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: krathokman ที่ มกราคม 11, 2012, 16:05:56 PM

หัวข้อ: concat และวิธีใช้
เริ่มหัวข้อโดย: krathokman ที่ มกราคม 11, 2012, 16:05:56 PM
concat นี่ใช้ต่อ Field กับ Field ใช่ไหมครับ  ถ้า Field A และ Field B ไม่เป็น Null ผลคือ
FieldAFieldB  แต่ถ้าตัวใดตัวหนึ่งเป็น Null  ผลคือ Null  ไม่ทราบว่าผมเข้าใจถูกต้องหรือไม่คำถามคือ  ผมไม่ทราบว่า  FieldB จะเป็น Null หรือไม่  ไม่รู้ว่า User จะกรอกหรือไม่
ผมควรใช้อะไร  หรือควรทำอย่างไร
หัวข้อ: Re: concat และวิธีใช้
เริ่มหัวข้อโดย: dusit ที่ มกราคม 11, 2012, 16:19:34 PM
concat นี่ใช้ต่อ Field กับ Field ใช่ไหมครับ  ถ้า Field A และ Field B ไม่เป็น Null ผลคือ
FieldAFieldB  แต่ถ้าตัวใดตัวหนึ่งเป็น Null  ผลคือ Null  ไม่ทราบว่าผมเข้าใจถูกต้องหรือไม่คำถามคือ  ผมไม่ทราบว่า  FieldB จะเป็น Null หรือไม่  ไม่รู้ว่า User จะกรอกหรือไม่
ผมควรใช้อะไร  หรือควรทำอย่างไร
ลองดูแบบนี้ว่าได้ไหมครับ
concat(FieldA,IF(FieldB is null,'ว่าง','ไม่ว่าง'))
หัวข้อ: Re: concat และวิธีใช้
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ มกราคม 11, 2012, 20:07:13 PM
เข้าใจถูกแล้วครับ 
string ที่เป็นค่าว่าง  กับค่า NULL  คือคนละค่ากัน
ค่าต่าง ๆ   ที่มา concat  กัน  เมื่อมีค่าใดค่าหนึ่งเป็น NULL  ผลจะออกมาเป็น NULL ครับ

แต่ใน SQL Query (สายฟ้า) ของ hosxp  เราจะเห็นว่าค่าว่าง  ( "" )  กับ  NULL  จะแสดงผลเหมือนกันทำให้เราแยกไม่ออก
แต่ถ้าใช้ MySQL Query Broswer  ค่า null  จะแสดงคำว่า null แทนช่องว่าง ๆ

เวลาเขียน  sql  ก็พยายามดักค่าที่เราไม่ต้องการด้วยครับ  เช่น  where field is not null and field <> ""
หัวข้อ: Re: concat และวิธีใช้
เริ่มหัวข้อโดย: Knott ที่ มกราคม 12, 2012, 11:40:35 AM
แหม่ะ ยังแวะเวียนบอร์ด HOSxP บ่อยๆ นะท่านนุ๊ก  ;D ;D
หัวข้อ: Re: concat และวิธีใช้
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ มกราคม 12, 2012, 16:49:16 PM
แหม่ะ ยังแวะเวียนบอร์ด HOSxP บ่อยๆ นะท่านนุ๊ก  ;D ;D

อย่าว่่าแต่บอร์ด HOSxP เลยพี่นอท
รพช.วัดโบสถ์ก็แวะเวียนไปบ่อย  555+
หัวข้อ: Re: concat และวิธีใช้
เริ่มหัวข้อโดย: งูเขียว ที่ มกราคม 13, 2012, 09:57:47 AM
ได้ความรู้เพิ่ม...ขอบคุณมากเพราะแต่ก่อนใช้อย่างเดียว..555
หัวข้อ: Re: concat และวิธีใช้
เริ่มหัวข้อโดย: ไม่เสียสละ ชัยชนะไม่เกิด ที่ มกราคม 13, 2012, 12:31:10 PM
แต่วิธีแก้สามารถใช้คำสั่งนี้ให้ได้ผลออกมาแสดงได้ครับอันนี้ยกตัวอย่างเท่านั้นต้องการประยุกต์ใช้ก็เปลี่ยนฟิวด์และตารางเอานะครับ

select concat(if(unitprice is null," ",unitprice),if(dosageform is null," ",dosageform)) as cc from drugitems

ไว้จะหาเวลาแวะไปนะครับพี่เดช