`

mysql变量

阅读更多

1.设置sql变量

可以使用查询结果来设置变量,我们能够方便的把一些结果保存起来以供他用。变量命名规则是: @name ,赋值语法是 @name =value

如: select @bir =birth from stu where name= lili ’;

select * from stu where birth>=@bir;

也可以用子查询得到上述结果:select * from stu where birth>(select birth from stu where name='lili');

2. mysql对字符串的处理

mysql 能够支持的数据类型,和其它的数据库一样,我们可以处理各种数值(整型,浮点),字符串型,日期/时间型,NULL值等等。大家在使用的需要注 意不同类型的数值的格式是不一样的。在这里,对字符串的处理有一个比较特殊的地方大家需要理解。因为字符串两端是需要用引号(单引号,双引号)括起来的, 但是如果字符串本身里面也包括了引号(单引号,双引号),我们应该怎么办呢。这时就必须用以下三种方法之一来标识这个特殊的字符串。
   (1) 如果字符串内部的引号字符与字符串两端的引号字符相同,则双写该引号
‘I can’’t’
“He said,””I told you so, “”’
   (2). 用与字符串内部的引号字符不同的引号把该字符串引起来,此时,就不用双写字符串内部的引号了
“I can’t”
‘He said,”I told you so,”’
   (3) 用反斜杠对字符串内部的引号字符进行转义,此时与字符串两端的引号无关
     ‘I can\’t’
      “He said,\”I told you so,\””

2. null 值的问题

mysql> INSERT INTO my_table (phone) VALUES (NULL);

mysql> INSERT INTO my_table (phone) VALUES ("");

两个语句把值插入到 phone 列,但是第一个插入一个 NULL 值而第二个插入一个空字符串。第一个的含义可以认为是 电话号码不知道 ,而第二个则可意味着 她没有电话

SQL 中, NULL 值在于任何其他值甚至 NULL 值比较时总是假的( FALSE )。包含 NULL 的一个表达式总是产生一个 NULL 值,如: select null+2 ;返回 null

当使用 ORDER BY 时,首先呈现 NULL 值。如果你用 DESC 以降序排序, NULL 值最后显示。当使用 GROUP BY 时,所有的 NULL 值被认为是相等的。

为了有助于 NULL 的处理,你能使用 IS NULL IS NOT NULL 运算符和 IFNULL() 函数

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics