string str1 = null; str引用為空
string str2 = ""; str引用乙個空串
也就是null沒有分配空間,""分配了空間,因此str1還不是乙個例項化的物件,而str2已經例項化。
注意因為null不是物件,""是物件。所以比較的時候必須是 if(str1==null)和if(str2.equals(""))。
物件用equals比較,null用等號比較。因此,如果str1=null;下面的寫法錯誤:
if(str1.equals("")||str1==null)
正確的寫法是 if(str1==null||str1.equals(""))
打個比方:乙個空玻璃杯,你不能說它裡面什麼都沒有,因為裡面有空氣,當然也可以把它弄成真空,null與" "的區別就象真空與空氣一樣。
sql中引號的用法
單引號,雙引號,不用引號
數值型不用引號
如:scondition += " and larticleid = " + larticleid;//因為larticleid是數字型,所以不用單引號
字元型要加單引號
如:scondition += " and stitle like '%" + stitle + "%'";
相比單引號,雙引號裡面的字段會經過編譯器解釋然後再當作html**輸出,單
引號裡面的不需要解釋,直接輸出。例如:
$abc='i love u';
echo $abc //結果是:i love u
echo '$abc' //結果是:$abc
echo "$abc" //結果是:i love u
所以在對資料庫裡面的sql語句賦值的時候也要用在雙引號裡面sql="select a,b,c from ..."
但是sql語句中會有單引號把欄位名引出來
例如:select * from table where user='abc';
這裡的sql語句可以直接寫成sql="select * from table where user='abc'"
但是如果象下面:
$user='abc';
sql1="select * from table where user=' ".$user." ' ";對比一下
sql2="select * from table where user=' abc ' "
我把單引號和雙引號之間多加了點空格,希望你能看的清楚一點。
也就是把'abc' 替換為 '".$user."'都是在乙個單引號裡面的。只是把整個sql字串分割了。
sql1可以分解為以下3個部分
1:"select * from table where user=' "
2:$user
3:" ' "
字串之間用 . 來連線,這樣能明白了吧。
另外非常重要的一點是,是字元型還是數值型,一定是以資料庫中為主而不是看程式中怎麼定義的,因為sql是執行在資料庫中的。
和null的區別
string str1 null str引用為空 string str2 str引用乙個空串 也就是null沒有分配空間,分配了空間,因此str1還不是乙個例項化的物件,而str2已經例項化。注意因為null不是物件,是物件。所以比較的時候必須是 if str1 null 和if str2.equa...
null和 的區別
資料庫中null和 是有區別的 select count 1 from eh device info d left join eh organization o on d.org id o.id where o.status d select count 1 from eh device info ...
和null的區別
string str1 null str引用為空 string str2 str引用乙個空串 也就是null沒有分配空間,分配了空間,因此str1還不是乙個例項化的物件,而str2已經例項化。注意因為null不是物件,是物件。所以比較的時候必須是 if str1 null 和if str2.equa...