zoukankan      html  css  js  c++  java
  • 日常工作中收集整理的MSSQL 技巧

    1、只复制一个表的结构

    select * into [tableName1] from [tableName2] -- 表的复制
    select
    top 0 * into [tableName1] from [tableName2] -- top 0 的妙用

    select * into b from a where 1<>1 --where 1<>1
    select top 2 * from dbo.table1 order by newid() --随即取纪录

    --SQL 插入语句得到自动生成的递增ID 值
    insert into Table1(Name,des,num) values ('ltp','thisisbest',10);
    select @@identity as 'Id'

    --实现是1 或0 想显示为男或女
    select name,Sex=
    case Sex
    when '1' then '男'
    when '0' then '女'
    end
    from Tablename

    --嵌套子查询
    select a,b,c from Table1 where a IN (select a from Table2)

    --显示文章、提交人和最后回复时间
    select a.title,a.username,b.adddate
    from tablename a,(select max(adddate) adddate from tablename where
    tablename.title=a.title) b

    --随机提取条记录的例子
    SQL Server:Select Top 10 * From Tablename Order By NewID()
    Access:Select Top 10 * From Tablename Order By Rnd(ID)
    --Rnd(ID) 其中的ID 是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段UserName)
    Select Top 10 * From 表Order BY Rnd(Len(UserName))
    MySql:Select * From 表Order By Rand() Limit 10

    --在同一表内找相同属性的记录
    select UserID from Accounts_Users
    where UserName is not null
    group by UserID
    having count (*)>1

    --查询类别所有的产品对应数据
    SELECT CategoryName,ProductName
    FROM Categories LEFT JOIN Products
    ON Categories.CategoryID = Products.CategoryID;

    --按范围查询编号在2 到5 之间的用户信息
    select * from UserValue where UserID between 2 and 5

    --日程安排提前5 分钟提醒
    Select * from TabSchedule where datediff(minute,getdate(),开始时间)<5

    --得出某日期所在月份的最大天数
    SELECT DAY(DATEADD(dd, -DAY('2008-02-13'),DATEADD(mm, 1, '2008-02-13'))) AS 'DayNumber'

    --按姓氏笔画排序
    Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

    --通配符的一些用法
     select * from tablename where column1 like '[A-M]%'
    --这样可以选择出column 字段中首字母在A-M 之间的记录

    select * from tablename where column1 like '[ABC]%'
    --这样可以选择出column 字段中首字母是A 或者B 或者C 的记录

    select * from tablename where column1 like '[A-CG]%'
    --这样可以选择出column 字段中首字母在A-C 之间的或者是G 的记录

    select * from tablename where column1 like '[^C]%'
    --这样可以选择出column 字段中首字母不是C 的记录


     

    注:数据库为SQL Server
    ①模糊查询__在好几个字段中模糊查询某字符串
    SELECT userName, name, tel, email, pwd
    FROM AD_APPLY
    WHERE (userName + name + tel + email + pwd LIKE '%AXzhz%')
    【重点】最后一句,所有字段名用"+"连接起来.

    ②模糊查询_Like和Left,,,,这两条语句执行结果相同
    SELECT *
    FROM bbs_forums
    WHERE (LTRIM(name) LIKE '嘉年华'%')

    SELECT *
    FROM bbs_forums
    WHERE (LEFT(LTRIM(name), 3) = '嘉年华')
    【重点】Like我就不多说了,先看Left函数:
    Left(要查询的列名,左起的前几个字符)='前几个字符为(二声)什么'
    再看Ltrim函数,这个简单了,去除某字段的左边的空格

    取两个集合中不相同的纪录

    select  distinct bookingno from booking where lastupdatedon >='2009-08-26'

    except
    select  distinct bookingno
    from bookingparty
    where bookingno in(
    select  distinct bookingno from booking where lastupdatedon >='2009-08-26'
    )




     

     

    HTML

  • 相关阅读:
    REDIS缓存穿透,缓存击穿,缓存雪崩
    spring 自动装配
    SpringBoot @Condition
    【Azure 环境】在Azure虚拟机(经典) 的资源中,使用SDK导出VM列表的办法
    【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
    【Azure 环境】基于Azure搭建企业级内部站点, 配置私有域名访问的详细教程 (含演示动画)
    【Azure Function】Function App和Powershell 集成问题, 如何安装PowerShell的依赖模块
    【Azure 应用服务】Python3.7项目在引用pandas 模块后,部署报错 
    【Azure 应用服务】部署Azure Web App时,是否可以替换hostingstart.html文件呢?
    【Azure 应用服务】添加自定义域时,Domain ownership 验证无法通过 
  • 原文地址:https://www.cnblogs.com/zlddtt/p/1504499.html
Copyright © 2011-2022 走看看