zoukankan      html  css  js  c++  java
  • day 06知识点整理

       having 语句

    WHERE 子句对被选择的列施加条件,而 HAVING 子句则对 GROUP BY 子句所产生的组施加条件。

    SQL > SELECT ID, NAME, AGE, ADDRESS, SALARY FROM CUSTOMERS GROUP BY age HAVING COUNT(age) >= 2;

        join 连接

    select * from table 1 left join table 2 on t1.id = t2.id

    select * from 
    sdata.dbo.student a LEFT join sdata.dbo.sc b on a.Sno = b.Sno
    left join sdata.dbo.course c on b.Cno =c.Cno

     计算函数

     AVG()*1.0,sum()*1.0,count()*1.0,与group by连用

     case when

    case when 条件 then 结果 else 结果 end

      主键

    bw_id int primary key,                       -- 主键的关键字 即表里面的数据不能完全一致--

       时间取值

    insert into sdata.dbo.testday02
    values(
    '11'
    ,'王'
    ,'yi8'
    ,'100'
    --,GETDATE() --          -- 自动输入
    --,GETDATE()-- 
    ,'2018-07-07'                --手动输入--
    ,'2018-07-07')
    select *from sdata.dbo.testday02
    select * ,YEAR(GETDATE())from sdata.dbo.testday02           --,YEAR(GETDATE())取年份--
    select len(city),city from sdata.dbo.testday02                         --求字段里面的字段名称的长度--
    select SUBSTRING(city,1,3),city from sdata.dbo.testday02   --从city表里面的第一位截取到第四位显示--
    select DATENAME(WEEKDAY,GETDATE())                           --返回周几--
    select DATEpart(WEEKDAY,GETDATE())                               --返回的是第几天--

    --为表里面增加字段--
    alter table sdata.dbo.testday02 add update_date date;
    alter table sdata.dbo.testday02 add update_date2 datetime;   --具体的时间--

    --去重复操作--

     distinct 

    --top3排序--
    select top 3 *from table1

    --sql语句套路模板--
    select 
    conlum1           --列名称
    ,conlum2
    ,ABS(conlum)   --取绝对值--
    ,AVG(conlum)
    ,SUM(conlum)
    ,MIN(conlum)
    ,MAX(conlum)
    from 
    sdata.dbo.testday02   --表名称--
    where conlum is null   --条件--
    group by 
    conlum1
    ,conlum2
    order by
    conlum desc

    --显示当天更新的数据--

    select * from #mian
    where date_stamp=cast(GETDATE() as DATE)

    cast(GETDATE() as DATE) 

    CONVERT显示日期

    --varchar(20)表示显示的长度,120表示显示的格式--
    select CONVERT(varchar(20),GETDATE(),120)

    --  用命令行将数据导入到数据库里面去  bcp sdata.dbo.billing_data in D:softBCP-billing_data.txt -c -T   --

    --sdata.dbo.billing_data  表名字   D:softBCP-billing_data.txt  数据文件位置   其他的都是规定死的 --

    --  bcp sdata.dbo.cost_detail in D:softBCP-cost_detail.txt -c -b 5000 -T     --

    --每5000行执行一下--

    cast转换字符串类型

    cast(b.loc_to_usd as float)

    用row求最新日期

    --2018年5月9号占5月的百分比--
    day(CAST(max_date as DATE))*1.0/DAY(DATEADD(MONTH,1,CONVERT(varchar(6),CAST(max_date as DATE),112) + '01 ')-1)


    一个月有多少天

    简单的方法  select   day(dateadd(month,1,'201805'+ '01 ')-1)

    老师的方法
    select
    DAY(DATEADD(MONTH,1,CONVERT(varchar(6),'20180509',112) + '01 ')-1) --一个月有多少天
    select day('20180509')

    获取当前月的天数

    SELECT 32-DAY(getdate()+32-DAY(getdate()))

    思路:同上,即获取到某月的最后一天,即下个月第一天的前一天日期,用day()函数取到天数

    例如 m_date=20150204

    day(cast(convert(varchar(8),(m_date-m_date%100+1+100) ,112) as datetime)-1)

  • 相关阅读:
    011-iOS核心动画(Core Animation)
    010-CALayer(图层)
    009-手势触摸事件处理
    008-Quartz2D
    007-多控制器管理及其控制器间的数据传递
    007-多控制器管理(控制器间的数据传递)
    通过底层 socket 监控 http/https 思路
    NDK 线程同步
    时间同步算法探究
    Android 事件小结
  • 原文地址:https://www.cnblogs.com/simly/p/9473068.html
Copyright © 2011-2022 走看看