PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
missle
Golden Member
 
missle的大頭照
 

加入日期: Jun 2004
文章: 3,979
請教mysql的問題?

mysql>select NOT(1+1);
->0

MYSQL>select ! 1+1;
->1

mysql>select 6 > '54abc';
->0

mysql>select 6 > 'abc54';
->1

這是看起來很簡單的問題
不過我沒學過mysql看不大懂
有沒有人可解釋一下的?
     
      
舊 2006-07-08, 02:11 PM #1
回應時引用此文章
missle離線中  
kec
Major Member
 
kec的大頭照
 

加入日期: Feb 2004
您的住址: Terran Empire
文章: 283
引用:
作者missle
mysql>select NOT(1+1);
->0

NOT (1+1) -> NOT 2 -> 0

改成 select NOT 1+1; 結果也是 0,因為NOT 運算優先序比 + 低。

引用:
作者missle
MYSQL>select ! 1+1;
->1

! 運算優先序比 + 高。

!1+1 -> (!1)+1 -> 0+1 -> 1

引用:
作者missle
mysql>select 6 > '54abc';
->0

因為6和'54ab'資料類型不同,會先轉換成數字再比較。

6>'54abc' -> 6>54 -> 0

引用:
作者missle
mysql>select 6 > 'abc54';
->1

因為6和'abc54'資料類型不同,會先轉換成數字再比較。

6>'abc54' -> 6>0 -> 0
 

此文章於 2006-07-09 03:19 AM 被 kec 編輯.
舊 2006-07-09, 03:14 AM #2
回應時引用此文章
kec離線中  
kec
Major Member
 
kec的大頭照
 

加入日期: Feb 2004
您的住址: Terran Empire
文章: 283
引用:
作者kec
因為6和'abc54'資料類型不同,會先轉換成數字再比較。

6>'abc54' -> 6>0 -> 0

打錯了,看到時已經來不及改了。
6>'abc54' -> 6>0 -> 1 才對。
舊 2006-07-09, 03:22 AM #3
回應時引用此文章
kec離線中  
missle
Golden Member
 
missle的大頭照
 

加入日期: Jun 2004
文章: 3,979
大概有點懂了 謝謝kec詳細的解答
舊 2006-07-09, 08:27 AM #4
回應時引用此文章
missle離線中  
missle
Golden Member
 
missle的大頭照
 

加入日期: Jun 2004
文章: 3,979
這裡面not的意思 可否請kec再解釋一下? 好久沒碰程式設計了 都忘光光了
舊 2006-07-09, 09:07 AM #5
回應時引用此文章
missle離線中  
kec
Major Member
 
kec的大頭照
 

加入日期: Feb 2004
您的住址: Terran Empire
文章: 283
在MySQL中,NOT 和 ! 都是邏輯的否定(非)運算,但它們的運算優先序不同。

MySQL處理邏輯運算時以 0 為偽;非零數值為真。運算結果為偽傳回0;運算結果為真則傳回1。
舊 2006-07-09, 10:10 AM #6
回應時引用此文章
kec離線中  
missle
Golden Member
 
missle的大頭照
 

加入日期: Jun 2004
文章: 3,979
謝謝kec的指教 學習mysql我是要一個一個函數看完嗎? 還是怎麼學習才快? 還是說看實例遇到問題再來看mysql手冊會較好呢?
舊 2006-07-09, 05:06 PM #7
回應時引用此文章
missle離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是06:55 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。