全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1649
推到 Plurk!
推到 Facebook!

MS-SQL update問題

尚未結案
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-14 12:00:25 IP:203.198.xxx.xxx 未訂閱
我現在的databse是MS-SQL,例如有個table 叫table1,有兩個fields idNum (int), NumDesc (varchar(10))
table1
===========
idNum          NumDesc
------------------------
  1             ABC
  2             NULL
(註idNum 2 裏的NumDesc 是沒有東西的,所以是Null,不是裏面的值是'NULL') 問題如下: method 1 如果我寫條SQL update table1 set NumDesc=NumDesc 'Test' Where idNum=2 行完後idNum 2那條row 沒有改變,都是null,不是變了Test method 2 但如果我 update table1 set NumDesc='' Where idNum=2 update table1 set NumDesc=NumDesc 'Test' Where idNum=2 這樣就得............ 有什麼方法可以解決 method 1 的問題 發表人 - superlowb 於 2003/11/14 12:17:22
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-14 12:19:41 IP:63.84.xxx.xxx 未訂閱
您好﹗    Null值和空字串''是兩個不同的概念﹒ 您可直接指定NumDesc值做以更新﹐而不用字串相加的方法來做﹕ Update Table1 Set NumDesc='Test' Where NumDesc is Null and idNum=2    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-14 12:31:51 IP:203.198.xxx.xxx 未訂閱
我知.........但我一定要這樣做.......有什麼方可detect到這個field 是null 我一定要這條SQL,就算這個field是null,有什麼方法可做到 update table1 set NumDesc=NumDesc 'Test' Where idNum=2 或者更改那句SQL去達成 發表人 - superlowb 於 2003/11/14 12:37:27
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-14 12:38:04 IP:63.84.xxx.xxx 未訂閱
您好﹗    使用ParamByName屬性加上if的判斷句試試﹐如果Field值為Null﹐則先以空字串''為值再加上'Test'﹐若Field值不是Null﹐則以該Field值再加上'Test'字串    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
azurecloud
中階會員


發表:52
回覆:108
積分:92
註冊:2003-09-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-14 18:38:51 IP:163.13.xxx.xxx 未訂閱
Hi,SuperLowB 您好: 請參考下面這個語法 update table1 set NumDesc=isnull(NumDesc,'') 'Test' Where idNum=2 希望對您有幫助。
系統時間:2024-05-18 23:00:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!