zoukankan      html  css  js  c++  java
  • 经典的sql

    以下是一些以前用过的SQL ,总也记不住,就写下来了,有几个很好用,分享一下:

    1.取年
    SELECT  CreateDate,CAST(YEAR(CreateDate) AS VARCHAR(4)) + '-' +
            CAST(MONTH(CreateDate) AS VARCHAR(2)) + '-' +
            CAST(DAY(CreateDate) AS VARCHAR(2)) + char(13)+char(10) + DATEPART(HH,CreateDate) FROM s_log
    结果:2006-06-01
           
    SELECT  CAST(DATEPART(HH,CreateDate)AS VARCHAR(4)) + ':'
            +  CAST(DATEPART(MI,CreateDate)AS VARCHAR(4))+':'
            +  CAST(DATEPART(SS,CreateDate)AS VARCHAR(4)) FROM s_log

    2. 取8位时间   16:30:28
    SELECT  CreateDate, CONVERT(VARCHAR(8),CreateDate,108)
        FROM s_log

    3.取10位年月日   2006-10-01
    SELECT  CreateDate, CONVERT(VARCHAR(10),CreateDate,126)
        FROM s_log

    当前时间 getdate()

    4.回车换行
    char(13)+char(10)

    5.  cast用法   
            CAST(YEAR(P.Birthday) AS VARCHAR(4)) + '-' +
            CAST(MONTH(P.Birthday) AS VARCHAR(2)) + '-' +
            CAST(DAY(P.Birthday) AS VARCHAR(2)) as 出生日期


    6.case 语句

    CASE C5.Des  WHEN '初领' THEN '√'  
              END AS [初领],  
    CASE C5.Des  WHEN '补证' THEN '√'  
              ELSE '' END AS [补证],  
    [K1]=   
      CASE    
      WHEN  P_RegistPractitioner.TitleCardType LIKE '%K1%' THEN '√'  
      END,  
    [K2]=  
      CASE    
      WHEN  P_RegistPractitioner.TitleCardType LIKE '%K2%' THEN '√'  
      END

    7. 联接
     分类:内联接 ,外联接,交叉联接

            1.内联接: 典型的联接运算,使用像 = 或 <> 之类的比较运算符,包括相等联接和自然联接。

            2.外联接: 外联接可以是左向外联接、右向外联接或完整外部联接。
               假设在 city 列上联接 authors 表和 publishers 表。
                    结果只显示在出版商所在城市居住的作者
               2.1.左向外联接 :在结果中包括所有的作者,而不管出版商是否住在同一个城市
                     USE pubs
                     SELECT a.au_fname, a.au_lname, p.pub_name
                     FROM authors a LEFT OUTER JOIN publishers p
                     ON a.city = p.city
                     ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
       
               2.2.右向外联接 :结果中包括所有的出版商,而不管城市中是否还有出版商居住
                     USE pubs
                     SELECT a.au_fname, a.au_lname, p.pub_name
                     FROM authors AS a RIGHT OUTER JOIN publishers AS p
                     ON a.city = p.city
                     ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC

               2.3.完整外部联接: 在结果中包括所有作者和出版商,而不管城市中是否有出版商或者出版商
                                是否住在同一个城市
                    USE pubs
                    SELECT a.au_fname, a.au_lname, p.pub_name
                    FROM authors a FULL OUTER JOIN publishers p
                    ON a.city = p.city
                    ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC

          3.交叉联接 :返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。

                     例如,下面的内联接检索与某个出版商居住在相同州和城市的作者:

                   USE pubs
                   SELECT a.au_fname, a.au_lname, p.pub_name
                   FROM authors AS a INNER JOIN publishers AS p
                   ON a.city = p.city
                   AND a.state = p.state
                   ORDER BY a.au_lname ASC, a.au_fname ASC

     8.查询时修改字段类型
                   cast(moneydate as varchar) as '贷款日期'

     
    9. 值为空时返回0
        COALESCE(CargoNum,0)

    10. NULLIF
        如果两个指定的表达式相等,则返回空值。

    11. UPDATE  FROM
    UPDATE T_StoreInfo
    SET PositionName  =  A.PositionName
    FROM  T_StoreInfo T,
    (SELECT HouseID+'-'+PlaceID+'-'+PositionID AS PositionName,StorageID FROM T_Storage)  A
    WHERE T.StorageID = A.StorageID

    12. 修改列长度
    alter  table  T_OperateLog
    ALTER COLUMN   [Description]  nvarchar(1000)

    13.数据库备份
    BACKUP  DATABASE  ZYDangerous
    to disk='d:\ZYDangerous20070822.bak'


    14. NULLIF
    如果两个指定的表达式相等,则返回空值
    SELECT NULLIF(money, 0.00)
    FROM budgets

    15.COALESCE
    返回其参数中第一个非空表达式
    SELECT COALESCE(heigth,0)+COALESCE(width,0)
    FROM wages

    16. DATENAME
    返回代表指定日期的指定日期部分的字符串。
    语法
    DATENAME ( datepart , date )

    17.DATEPART
    返回代表指定日期的指定日期部分的整数
    语法
    DATEPART ( datepart , date )

    18. CAST 和 CONVERT
    将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。

    使用 CAST:
    CAST ( expression AS data_type )

    使用 CONVERT:
    CONVERT (data_type[(length)], expression [, style])


    19.SQL 用 0 补位 的SQl语句 

    select right ('00000'+XKZID,5) as XKZID   from WXTemplicence     原来是 1 ,2,3......10,11 现在是

    00001,00002,00003.......00010,00011.不够五位的, 左边补零;

    select  left (XKZID+'00000',5) as XKZID   from WXTemplicence     原来是 1 ,2,3......10,11 现在是

    10000,20000,30000.......10000,11000.不够五位的, 右边补零.

    select cast(yuangongbh as int) from jxyuangongxx where jiaxiaobh='6101045003' 把原来是字符型的转化为整型,

    去掉前面的 “0”,如“0013”变为“13”

    select '0000'+ id  from table

    20. ISNULL
    使用指定的替换值替换 NULL
    下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目USE pubs
    GO
    SELECT AVG(ISNULL(price, $10.00))
    FROM titles
    GO


    21. 从数据库里面取随机的n行
    SELECT TOP 10 * FROM dbo.T_EnterStorage
    ORDER BY NEWID()

    22.删两表同记录

    delete from a where bm exists (select bm from b where a.bm=b.bm and a.mc=b.mc)

    23.增加列
    alter table tbl_wms_TransferHeader
    Add [fIsCreateASN] bit not null default(0),
    fUserDef01 varchar(50) null,
    fUserDef02 varchar(50) null,
    fUserDef03 varchar(50) null


     

  • 相关阅读:
    转盘抽奖活动代码
    信息滚动条
    gulp应用学习
    js实现语音播报功能
    如何安装使用sass
    纯CSS写三角形-border法
    css兼容性写法
    字体中英文对照
    浏览器内核判断
    个人课程总结
  • 原文地址:https://www.cnblogs.com/sunxi2003/p/1515449.html
Copyright © 2011-2022 走看看