ผู้เขียน หัวข้อ: เอาค่าว่างมาบวกกับค่า ตัวเลข ปรากฏว่าบวกแล้วมันได้ค่าว่างออกมา มีวิธีแก้หรือไม่  (อ่าน 13884 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ civiccoupe

  • Newbie
  • *
  • กระทู้: 1
  • Respect: 0
    • ดูรายละเอียด
เอาค่าว่างมาบวกกับค่า ตัวเลข ปรากฏว่าบวกแล้วมันได้ค่าว่างออกมา มีวิธีแก้หรือไม่ครับ
ผมต้องาการให้มันบวกกันได้
-ผม query ของ DB2 นะครับ
 

doramon

  • บุคคลทั่วไป
เอาค่าว่างมาบวกกับค่า ตัวเลข ปรากฏว่าบวกแล้วมันได้ค่าว่างออกมา มีวิธีแก้หรือไม่ครับ
ผมต้องาการให้มันบวกกันได้
-ผม query ของ DB2 นะครับ

ช่วยแนะนำตัวเองด้วยครับ

ไม่เข้าใจคำถาม
แต่คิดว่าไม่ได้เกียวกับ  โปรแกรม hosxp
 ???

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
ถูกต้องแล้วครับ NULL + 1 = NULL
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ ทานน้ำ

  • Full Member
  • ***
  • กระทู้: 204
  • ดวงพร ประกาศ(จอย) ผู้จัดการโครงการติดตั้งระบบฺBMS
  • Respect: +1
    • ดูรายละเอียด
แล้วจะทำยังไงคะที่จะเอาค่า NULL+1 ให้ได้ =1
พอจะมีทางเป็นไปได้มั้ยคะ
ถามแบบไม่รู้หลักคำสั่ง sql เลยนะคะ
ดวงพร  ประกาศ(จอย)
ผู้จัดการโครงการติดตั้งระบบและดูแลหลังการขาย
บริษัทบางกอกเมดิคอลซอฟต์แวร์จำกัด

ออฟไลน์ woravet

  • Sr. Member
  • ****
  • กระทู้: 409
  • Respect: +12
    • ดูรายละเอียด
ลองใช้ ifnull() ดู
เช่น
select ifnull(null,0)+1 as 'sum'
รพ.บึงสามัคคี จ.กำแพงเพชร
*********************
อ.สุชัยและคณะ ขึ้นระบบ 29 ตค.49(Linux+Fedara 5)
*********************
ปัจจุบัน
HOSxP version 3.53.4.27
Server:Windows XP SP2,MySQL 5
Client ประมาณ 15 เครื่อง

ออฟไลน์ ทานน้ำ

  • Full Member
  • ***
  • กระทู้: 204
  • ดวงพร ประกาศ(จอย) ผู้จัดการโครงการติดตั้งระบบฺBMS
  • Respect: +1
    • ดูรายละเอียด
ขอบคุณมากมายนะคะ จะลองดูค่ะ
ดวงพร  ประกาศ(จอย)
ผู้จัดการโครงการติดตั้งระบบและดูแลหลังการขาย
บริษัทบางกอกเมดิคอลซอฟต์แวร์จำกัด

ออฟไลน์ เด็กดำรำพัน ?

  • Jr. Member
  • **
  • กระทู้: 60
  • รักจะช่วยสังคมแม้ต้องอยู่ข้างหลังสุดก็ตาม
  • Respect: 0
    • ดูรายละเอียด
    • http://www.pongnamron.thaiddns.com:801
ลองใช้ ifnull() ดู
เช่น
select ifnull(null,0)+1 as 'sum'


ลองแล้วไม่ได้ผลครับ ยังออกมาเป็น Null เหมือนเดิม เจอปัญหานี้เหมือนกันบ่อยครั้งเลยที่จนปัญญา
ของผมใช้งานเกี่ยวกับรายงานยกตัวอย่างนะครับ การดึงอาหารที่สั่งจาก ipd ของโรงพยาบาลผม คนนึงสั่ง1อย่างมี 2อย่างมี ผมเลย ใช้ select ซ้อน select โดยตัวแรก limit 0,1 ตัวที่ 2  limit 1,1 แล้วเอาทั้งคู่มา concat(ตัวแรก,"/",ตัวที่ 2) ผลคือคนที่มีอาหาร 2 รายการปกติดี แต่คนที่มีรายการเดียวกลายเป็น Null ไปซะ เพราะ Null จากรายการที่ 2 concat ไม่ได้ จึงอยากทราบวิธีเหมือนกันครับว่า ถ้าcolumที่มีให้ค่า null ให้แสดงค่า "xxx" ต้องทำไงครับ ช่วยทำบุญแผ่ความรู้แด่ผู่โง่เขลารายนี้ด้วยเทิญ ^_^ 
"สงสัย ? เพราะไม่รู้"    "ดูโง่  ก็ไม่อาย"
ลูกจ้างชั้นต่ำ ไม่ยอมก้มหัวให้คนเลว
รพ.โป่งน้ำร้อน ขึ้นระบบ 3 สิงหาคม 2553  ver 3.58.4.20 Percona 5.5.3 CentOS 6.4
server IBM Intel exon ran 8G hdd 500G

ออฟไลน์ chitvichai

  • Full Member
  • ***
  • กระทู้: 103
  • Respect: +5
    • ดูรายละเอียด
    • รพ.เมืองปาน
ลองใช้ ifnull() ดู
เช่น
select ifnull(null,0)+1 as 'sum'


ลองแล้วไม่ได้ผลครับ ยังออกมาเป็น Null เหมือนเดิม เจอปัญหานี้เหมือนกันบ่อยครั้งเลยที่จนปัญญา
ของผมใช้งานเกี่ยวกับรายงานยกตัวอย่างนะครับ การดึงอาหารที่สั่งจาก ipd ของโรงพยาบาลผม คนนึงสั่ง1อย่างมี 2อย่างมี ผมเลย ใช้ select ซ้อน select โดยตัวแรก limit 0,1 ตัวที่ 2  limit 1,1 แล้วเอาทั้งคู่มา concat(ตัวแรก,"/",ตัวที่ 2) ผลคือคนที่มีอาหาร 2 รายการปกติดี แต่คนที่มีรายการเดียวกลายเป็น Null ไปซะ เพราะ Null จากรายการที่ 2 concat ไม่ได้ จึงอยากทราบวิธีเหมือนกันครับว่า ถ้าcolumที่มีให้ค่า null ให้แสดงค่า "xxx" ต้องทำไงครับ ช่วยทำบุญแผ่ความรู้แด่ผู่โง่เขลารายนี้ด้วยเทิญ ^_^ 

โค๊ด: [Select]
ใช้ได้ใน mysql นะครับ
 concat(if(A is null,"",A), if(B is null,"",B) )


โรงพยาบาลเมืองปาน (ขนาด 30 เตียง) จังหวัดลำปาง โทร 054-276345-6
Master Server : HP Proliant DL360G7 Ram DDR3 1333 ECC 2x2 GB  HDD 2x146 GB  CentOS 6.2 Linux MySQL 5.5.11
Slave Server I : Acer Altos G540 Ram DDR2 667 ECC 2x1 GB HDD 2x146 GB Redhat Ent 5.2 Linux Mysql 5.1.29
Slave Server II : คอมประกอบ Ram DDR2 667  2x2 GB HDD SATA 160 GB Endian Firewall Community release 2.4.1 Mysql 5.5.24
Client : Windows XP Sp2
ขึ้นระบบ 1 มิ.ย.50

ออฟไลน์ เด็กดำรำพัน ?

  • Jr. Member
  • **
  • กระทู้: 60
  • รักจะช่วยสังคมแม้ต้องอยู่ข้างหลังสุดก็ตาม
  • Respect: 0
    • ดูรายละเอียด
    • http://www.pongnamron.thaiddns.com:801
ยังไม่ได้ครับ . . .  ???   :'( คือผลลัพธ์ null ที่ผมเจอปัญหามานี้มันมาจาก ยังไงดี คือ เช่น
 ผลลัพธ์จากชุดคำสั่งได้มา 2 แถว
แถวที่ 1 คือ อาหารอ่อน
แถวที่ 2 คือ ไข่ขาวล้วน
เรา limit 3,1 คำตอบจะไม่แจ้งว่า ERROR แต่จะให้ผลเป็น Null คือไม่มีแถวนั้น(แถวที่ 3)น่ะครับ
ซึ่งมันต่างจาก Null ที่มาจากฟิวล์หรือช่องที่ยังไม่มีการบันทึกค่า
ถ้า Null จากการไม่บันทึกค่าใช้ IF(colum IS NULL,"ใช่จ้ะค่าว่าง","ไม่ว่างนะคะ") ลองแล้วใช้ไดครับ
แต่ถ้ามาจาก null ที่มาจากไม่มีแถวหรือคำตอบจากชุดคำสั่งเนี่ย มันทำไงให้เป็นค่าที่ต้องการได้นั่นแหล่ะครับที่ผมเจออยู่
« แก้ไขครั้งสุดท้าย: มกราคม 25, 2012, 22:08:06 PM โดย เด็กดำรำพัน ? »
"สงสัย ? เพราะไม่รู้"    "ดูโง่  ก็ไม่อาย"
ลูกจ้างชั้นต่ำ ไม่ยอมก้มหัวให้คนเลว
รพ.โป่งน้ำร้อน ขึ้นระบบ 3 สิงหาคม 2553  ver 3.58.4.20 Percona 5.5.3 CentOS 6.4
server IBM Intel exon ran 8G hdd 500G