SQL NULL 值

如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。

NULL 值的处理方式与其他值不同。

NULL 用作未知的或不适用的值的占位符。

注释:无法比较 NULL 和 0;它们是不等价的。

无法使用比较运算符来测试 NULL 值,比如 =, <, 或者 <>。
--------------->mysql中ifnull的用法

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
或者  
    
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products

-------------------------------------------------------------------------------------------------------------------------------------------------------

  各种函数的应用

  count(*)和count(column)的区别是后者会忽略null的选项。

  在用sum函数的时候通常要和group by 结合使用.当然,group by 后面可以跟多个列。

  SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders
  GROUP BY Customer,OrderDate 切记:group by一般要和聚合函数结合使用,否则就没什么意义,并且假如只有group by没有什么聚合函数,那么查出的记录会丢失一部分。
   在group by分组后每个分组对应1个count();
-----------------------------------------------------------------------------------------------------------------------------------
sql中having子句的应用,因为where关键字无法与合计函数一起使用,Having函数代替了where函数.
例如我们需要查找订单总额大于2000的用户...
SELECT Customer,SUM(OrderPrice) FROM Orders  GROUP BY Customer  HAVING SUM(OrderPrice)<2000

当然,where无法使用是指,不能放到group by 子句后面,可以如下使用
select Customer ,SUM(OrderPrice) from Orders wherr customer ='A' or customer ='B' group by customer having sum(orderprice) >1500 ------------------------------------------------------------------------------------------------------------------------------------
ucase,lcase将数据表中的某列置为大写或者小写
select ucase(firstname) as u_name from person;
-----------------------------------------------------------------------------------------------------------------------------------
mid函数用于从文本字段中截取字符串,比如 mid(firstname,start[,end]);其中start,end可以随便写,或者返回数据或者返回空,不会报错。 假如想提取第二个字段,可以这么写,mid(firstname,2,2);返回来就是第二个字符。
SELECT MID(column_name,start[,length]) FROM table_name
select mid(firstname ,1,3) from person;
-----------------------------------------------------------------------------------------------------------------------------------
LEN 函数返回文本字段中值的长度。
select len(firstname) from person;
----------------------------------------------------------------------------------------------------------------------------------
ROUND 函数用于把数值字段舍入为指定的小数位数。

 select customer ,round(orderprice,0) from orders ;意思是要把订单金额保留整数。

-------------------------------------------------------------------------------------------------------------------------------------------------------

  NOW 函数返回当前的日期和时间。

 select now() as perDate from person ;
----------------------------------------------------------------------------------------------------------------------------------
FORMAT 函数用于对字段的显示进行格式化。---->format(column,format)其中两个参数是必须的。
SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate FROM Products。
---------------------------------------------------------------------------------------------------------------------------------- 

sql小总结2的更多相关文章

  1. SQL小汇总

    SQL小汇总 1.对每个时段的数据进行统计2.查询时间条件(to_date)3.插入序列号和系统时间4.查询当天.7天内.30天内5.查询前后x小时.分钟.天.月.6.保留小数点后4位7.查询字段A中 ...

  2. 几个SQL小知识

    写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系统如期上线,刚开始运行一切良好,后来随着数据量的急剧膨胀,慢慢出现了很多莫名其妙的问题,经过调试,修改了 ...

  3. SQL小技巧小知识

    1.[ ]的使用 当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * ...

  4. 11个实用经典的SQL小贴士

    学习工作之余,在没有要解决问题的压力之下,还是建议系统的看看书,对于一些认为没啥用的知识点,也建议去仔细的看看,练练手,说不定什么时候就用到了,到时也好有针对性的去查,不至于盲目的按照自己的思路,重复 ...

  5. 参数化SQL小认识

    在做机房收费系统项目,编写数据连接并访问数据库时,见别人都用了带“@”字符的SQL语句,就很好奇为什么都用这个语句呢?直接拼写SQL语句不是更加方便吗?带着这个问题上网查资料,才知道原来他们用的是参数 ...

  6. SQL小练习

    1.现在有两张表订单表TB_ORDER,包括字段:order_id(订单号),username(用户名),amount(订单金额),order_time(下单时间), product_id(商品ID) ...

  7. 几个SQL小知识(转)

    出处:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系 ...

  8. 几个SQL小知识(转)

    原文地址:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码 ...

  9. sql小计合计

    转自:http://www.jb51.net/article/18860.htm 这里介绍sql server2005里面的一个使用实例: CREATE TABLE tb(province nvarc ...

  10. sql小计汇总 rollup用法实例分析

    这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...

随机推荐

  1. CentOS6.2安装memcache

    一,安装libevent # cd /tmp # wget http://www.monkey.org/~provos/libevent-1.3.tar.gz # tar -zxvf libevent ...

  2. 下的生产环境was重新启动不同意,怎么做?

    前一段时间上线.遇到一个jndi问题,它是如何是个问题?它是在测试环境中的原始没有问题,在生产环境中,您无法连接生产数据库,然后发现问题,那是,ibm工具生成在测试环境中自己主动的连接jndi资源文件 ...

  3. Android游戏源代码合集(主要是AndEngine和Libgdx的)

    近期在网络上看到有网友抱怨Android游戏源代码找不到,所以小弟收集了一些AndEngine和Libgdx的游戏源代码,以Eclipseproject的形式配置好环境,再陆续发出(某引擎避嫌,不在此 ...

  4. ehcache.xml设置(转)

    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLoc ...

  5. i++和i--运算符优先级

    1.问题背景 /** * 測试i++和i-- */ package com.you.model; /** * @author YouHaiDong * @date 2014-08-16 */ @Sup ...

  6. Datatable转换为Json 然后,Json数据导入 js 档

    C#在里面Datatable转换为Json的5代码示例 /// <summary> /// Datatable转换为Json /// </summary> /// <pa ...

  7. ViewData ViewBag ViewModel

    ViewBag 里可以携带dynamic的数据. Model 是从control传过来的模型数据. 我自己感觉ViewBag 可以携带少量的数据,但是我同事喜欢部分页partial 请求,ViewBa ...

  8. maven snapshot和release版本号之间的差

    在使用maven过程.我们经常会在不稳定的状态有很多公共图书馆在发展阶段.需要改变在任何时间和公布,你可能有一天一次发布.经验bug时间,甚至一天公布N次要.我们知道,.maven依赖管理是基于管理的 ...

  9. 【LeetCode】【Python解读】Container with most water

    这个问题是芭芭拉在采访中遇到的,不幸的是,的复杂性O(n2)该,太失望了,难怪没有通过面试. Given n non-negative integers a1, a2, ..., an, where ...

  10. RH133读书 笔记(4) - Lab 4 System Services

    Lab 4 System Services Goal: Develop skills using system administration tools and setting up and admi ...