VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

一個小問題請問 ~~~
前往頁面 1, 2  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
impotence



註冊時間: 2005-02-21
文章: 135
來自: Hong Kong

第 1 樓

發表發表於: 星期一 七月 09, 2007 9:30 am    文章主題: 一個小問題請問 ~~~ 引言回覆

我有一個 test.dbf , 結構是 (code C(10), qty N(7)), 內容如下

code qty

A001 0

A002 0

A003

A004



A003 和 A004 的 qty 是 null , 沒有數據的, 如何可以用一句 select 把 A003 及 A004 找出來 ?

** select * from test where isnull(qty)
** select * from test where isblank(qty)

** 得不到結果 , 如果用

** select * from test where empty(qty)

** 結果所有記錄都出來 ...

_________________
一個常常忘記 Command 的人 !
回頂端
檢視會員個人資料 發送私人訊息
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 2 樓

發表發表於: 星期一 七月 09, 2007 9:53 am    文章主題: 引言回覆

你確定你的 QTY 欄位可以接受 NULL 值嗎,如果可以

CREATE CURSOR AA (code C(10), qty N(7) NULL)
INSERT INTO AA VALUES("A001",0)
INSERT INTO AA VALUES("A002",0)
INSERT INTO AA VALUES("A003",.NULL.)
INSERT INTO AA VALUES("A004",.NULL.)
SELECT * FROM AA A WHERE ISNULL(A.QTY) && 答案是 A003, A004 兩筆記錄
SELECT * FROM AA A WHERE EMPTY(A.QTY) && 答案是 A001, A002 兩筆記錄
SELECT * FROM AA A WHERE ISBLANK(A.QTY) && 答案是沒有符合的記錄

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
小賴



註冊時間: 2004-12-27
文章: 476


第 3 樓

發表發表於: 星期一 七月 09, 2007 10:23 am    文章主題: 引言回覆

奇怪 !
ISBLANK(QTY) 明明是 .T.
select * from test where isblank(qty) 就是取不到資料
如果BROWSE FOR ISBLANK(QTY) 就有資料
COPY TO Test1 FOR ISBLANK(QTY) 也行
SELECT ...WHERE 就不行 ?


小賴 在 星期一 七月 09, 2007 10:33 am 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
impotence



註冊時間: 2005-02-21
文章: 135
來自: Hong Kong

第 4 樓

發表發表於: 星期一 七月 09, 2007 10:26 am    文章主題: 引言回覆

朱大哥,
Sorry , 那個程式不是我寫的 , 我沒辦法改變它可以接受 .NULL. ! 實際上 , 那個 dbf 有超過 200,000 個 records , 我現在就是要想辦法把那些 qty 為 "空 " 的找出來 (不是 .NULL. ) ...

_________________
一個常常忘記 Command 的人 !
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 5 樓

發表發表於: 星期一 七月 09, 2007 10:31 am    文章主題: 引言回覆

能否試著手動修改欄位結構,
將它變成字串型態,
再找出empty()的資料.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
impotence



註冊時間: 2005-02-21
文章: 135
來自: Hong Kong

第 6 樓

發表發表於: 星期一 七月 09, 2007 10:34 am    文章主題: 引言回覆

garfield 寫到:
能否試著手動修改欄位結構,
將它變成字串型態,
再找出empty()的資料.


那些是 店舖在用的 dbf 格式 , 每天用 ftp update 到 公司的 FTP Server , 再更新公司的 DBF ... 沒辦法對 店舖的 DBF 作修改 , 因一改就翻天動地 .....

_________________
一個常常忘記 Command 的人 !
回頂端
檢視會員個人資料 發送私人訊息
BIN



註冊時間: 2004-07-22
文章: 94
來自: Tainan, Taiwan

第 7 樓

發表發表於: 星期一 七月 09, 2007 10:58 am    文章主題: 引言回覆

select * from test where qty is null

or

select * from test where len(nvl(qty,''))=0
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
小賴



註冊時間: 2004-12-27
文章: 476


第 8 樓

發表發表於: 星期一 七月 09, 2007 11:18 am    文章主題: 引言回覆

TO : impotence兄
辛苦一點用APPEND FROM

CREATE CURSOR TEST1 (code C(10), qty N(7))
APPEND FROM TEST FOR ISBLANK(QTY)


TO: BIN 兄
二種方式我為什麼都TRY不出來 ?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
impotence



註冊時間: 2005-02-21
文章: 135
來自: Hong Kong

第 9 樓

發表發表於: 星期一 七月 09, 2007 11:26 am    文章主題: 引言回覆

小賴 寫到:
TO : impotence兄
辛苦一點用APPEND FROM

CREATE CURSOR TEST1 (code C(10), qty N(7))
APPEND FROM TEST FOR ISBLANK(QTY)


TO: BIN 兄
二種方式我為什麼都TRY不出來 ?


謝謝 "小賴" .... , 這個辦法可行 , 但為什麼沒辦法用 select 做到 .... 煩 ....

_________________
一個常常忘記 Command 的人 !
回頂端
檢視會員個人資料 發送私人訊息
BIN



註冊時間: 2004-07-22
文章: 94
來自: Tainan, Taiwan

第 10 樓

發表發表於: 星期一 七月 09, 2007 11:54 am    文章主題: 引言回覆

to 小賴:
那qty空白的值應該不是.NULL.,
不然依上面所討論的早就有解答了...
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
小賴



註冊時間: 2004-12-27
文章: 476


第 11 樓

發表發表於: 星期一 七月 09, 2007 12:26 pm    文章主題: 引言回覆

BIN 寫到:
to 小賴:
那qty空白的值應該不是.NULL.,
不然依上面所討論的早就有解答了...


我例咧....
大哥 ...你是來亂的哦 ... Shocked
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 12 樓

發表發表於: 星期一 七月 09, 2007 1:20 pm    文章主題: 引言回覆

bin 兄所言, 意在弦外......
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
nelsonchuang



註冊時間: 2003-09-04
文章: 563
來自: 臺灣

第 13 樓

發表發表於: 星期一 七月 09, 2007 1:40 pm    文章主題: 引言回覆

select * from test where !isdigit(qty) 可以嗎?
_________________
大家好,請多指教
回頂端
檢視會員個人資料 發送私人訊息
impotence



註冊時間: 2005-02-21
文章: 135
來自: Hong Kong

第 14 樓

發表發表於: 星期一 七月 09, 2007 1:46 pm    文章主題: 引言回覆

isdigit() 是 "確定所指定的字元運算式之最左邊的字元是否是數字 (0 到 9)。"
qty 是 N, 不是 C , 如果 allt(str(qty)) , 則 0 = 空 .....

_________________
一個常常忘記 Command 的人 !
回頂端
檢視會員個人資料 發送私人訊息
nelsonchuang



註冊時間: 2003-09-04
文章: 563
來自: 臺灣

第 15 樓

發表發表於: 星期一 七月 09, 2007 3:01 pm    文章主題: 引言回覆

impotence 寫到:
isdigit() 是 "確定所指定的字元運算式之最左邊的字元是否是數字 (0 到 9)。"
qty 是 N, 不是 C , 如果 allt(str(qty)) , 則 0 = 空 .....

呵,我都忘了這麼重要的事,它是給文字用的
那type('qty')呢?當它是NULL時,會不會等於U?

_________________
大家好,請多指教
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2  下一頁
1頁(共2頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作