zoukankan      html  css  js  c++  java
  • sql小总结2

    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。
    ---------------------------------------------------------------------------------------------------------------------------------- 

     

  • 相关阅读:
    Request.ServerVariables
    asp.net 枚举
    MSSQL批量替换语句 在SQL SERVER中批量修改替换数据
    由于 ASP.NET 进程标识对全局程序集缓存没有读权限,因此未能执行请求
    mongodb 下载地址,mongodb.dll 下载
    mongodb 常用操作(转)
    mssql 列出数据库中的所有表
    jpg图片在火狐中和ie中格式区别
    Ndo 新版本发布
    消息总线设计系列之 调停者模式
  • 原文地址:https://www.cnblogs.com/lovebaoqiang/p/4075895.html
Copyright © 2011-2022 走看看