注:收集的网上的说法
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){//如果str1没有值,则....
//。。。。
}
正确的写法是 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是运行在数据库中的。
分享到:
相关推荐
理解javascript中undefined和null的区别
"C和C++中NULL和0的区别" C和C++中NULL和0的区别是指针编程中一个常见的概念,理解这两者的区别对编写高质量的代码非常重要。 首先,需要了解什么是空指针常量(null pointer constant)。根据C标准,空指针常量是...
null 和 undefined 的区别在于,null 是一个有意识的赋值,而 undefined 是一个变量未被赋值或未被声明。 在比较运算中,null 和 undefined 被认为是相等的,但是 null 和 NaN 是不相等的。例如: ```javascript ...
总结来说,理解Java中`null`、空字符串`""`的区别,以及如何安全地进行比较,是编写健壮代码的关键。同时,了解字符串对象的内存地址和内容相等性的差异,可以帮助我们更好地理解和调试程序。在实际开发中,应始终...
JavaScript中undefined和null的区别 JavaScript两个表示”无”的值:undefined和null。我在平时只是null用的多一点,undefined只是在报错中经常遇到。下面针对这两个数据类型的异同做一下详细的比较。 1.undefined和...
在C#编程中,时间处理是非常常见的操作,`timeGetTime()`、`time(NULL)`和`localtime`是三个与时间相关的函数,它们各有其特点和用途。下面将详细解释这三个函数的区别以及它们在实际应用中的用法。 1. `...
在JavaScript中,null和undefined是两个特殊的值,用来表示“无”的状态,但是在实际应用中有微妙的差别和不同的用途。虽然在很多场景中,它们的表现几乎是一致的,但在其他一些情况下,它们则有着明确的区别。 ...
null和undefined的区别 null :表示无值;undefined : 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。使用if (!...
在松散比较(==)中,null与0、''(空字符串)和false都相等,但在严格比较(===)中,只有null与null相等。 2. **0**:0是一个整数值,表示数字零。在松散比较中,0与false相等,因为false会被转换为0。但0不等于...
MySQL数据库在设计表结构时,`NULL` 和 `NOT NULL` 是两个重要的字段约束,它们在数据存储和查询中有着显著的区别。理解这些差异对于优化数据库性能和编写正确的SQL语句至关重要。 首先,我们需要明确“空值”和...
在JavaScript编程语言中,`undefined`和`null`是两种不同的数据类型,它们虽然在某些情况下可能被视为等价,但有着本质的区别。了解这两者的差异对于编写健壮的JavaScript代码至关重要。 首先,`undefined`是一种...
### JavaScript中undefined与null的区别详解 ...了解`undefined`与`null`之间的差异有助于避免编程中的常见错误,并使代码更加健壮和易于维护。在实际编程中,根据具体需求选择合适的数据类型进行处理是非常重要的。
1.调用云函数的时候,云函数调试时返回值不是null,但是到了前端拿到的result却是null。 2.调试云函数,本地调试和云端测试/真机测试结果不一样。表现为本地测试正常运行,云端和真机出错。 解决方法:异步操作的...
用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。...
在C和C++编程语言中,`NULL`和`0`都经常被用来表示空指针,但它们之间存在一些微妙的区别。以下是关于这些概念的详细解释: 1. **空指针常量(null pointer constant)**:根据C语言标准(C99,ISO/IEC 9899:1999)...
在C和C++编程语言中,`NULL`和`0`是两个经常用来表示空指针的概念,但它们之间存在一些微妙的区别。 首先,让我们理解什么是空指针常量(null pointer constant)。根据C和C++标准,一个整型常量表达式(如0、0L、'...
5. Innodb 存储引擎和 Myisam 存储引擎的区别 Innodb 存储引擎和 Myisam 存储引擎有所不同。在 Innodb 存储引擎中,每个索引叶子节点存储的是整行数据,而在 Myisam 存储引擎中,每个索引叶子节点存储的是主键 ID。...
了解这些选项的区别对于数据库设计和维护至关重要。 1. **CASCADE级联**: CASCADE意味着当主表中的记录被删除或更新时,所有依赖于该记录的从表记录也会相应地被删除或更新。例如,如果在订单表(主表)中删除了一...
win7旗舰版打开git bash未闪退的null.sys,对应git-2.14.1-64。之前那个普通的正常win7旗舰版null.sys搞定后,我重装了一下git,重装后git bash不闪退了,就趁着这会儿把null.sys又备份了一份,也不知道有没有区别。