总结一下平时用到最多的sql语句

1.特殊日期

 --今天凌晨
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE()),0)
--明天凌晨
SELECT DATEADD(dd,DATEDIFF(dd,0,GETDATE())+1,0)
--当周周一(每周从周日开始)
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
--当月的第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)
--当月的最后一天
SELECT DATEADD(dd,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0))
--今年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)
--今年的最后一天
SELECT DATEADD(dd,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0))

2.字符串处理

 --去除空格
SELECT LTRIM(col1),RTRIM(col2),LTRIM(RTRIM(col3)) FROM tableName SELECT
SUBSTRING(col1,3,2) --从第3个字符开始截取2个,得到截取的2个字符
,STUFF(col2,3,2,'')--从第3个字符开始删除2个,得到剩下字符
,STUFF(col3,3,2,'XXX')--从第3个字符开始,将第3、4两个字符替换成XXX
,REPLACE(col4,'old','new')--将col4中的old全部替换成new
FROM tableName --将列col1用,拼接起来
SELECT STUFF((SELECT ','+col1 FROM tableName WHERE 过滤条件 FOR XML PATH('')),1,1,'') --多位流水号,用0或空格补充 例如A000001,A000002……,前缀可为固定字符,或者可变的年、月、日等
DECLARE @flowNo AS VARCHAR(10)
DECLARE @nextNo AS int SELECT @flowNo = MAX(flowNo) FROM tableName WHERE 过滤条件
IF(@flowNo IS null)
  SET @flowNo = 'A000001'
ELSE
  BEGIN
    SET @nextNo = RIGHT(@flowNo,6)+1
    SET @flowNo = LEFT(@flowNo,1)+REPLICATE('',6-LEN(@nextNo))+CONVERT(VARCHAR(6),@nextNo)
  END
SELECT @flowNo;--要获取的流水号 --年 2001对应1,2009对应9,2010对应A,2035对应Z,2035之后的可自行调整
SELECT SUBSTRING('123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',(YEAR(GETDATE())-2000)%36,1) --月 10月,11月,12月分别对应A,B,C
SELECT SUBSTRING('123456789ABC',MONTH(GETDATE()),1) --月 英文简写
SELECT SUBSTRING('JanFebMarAprMayJunJulAugSepOctNovDec',(MONTH(GETDATE())-1)*3+1,3) --日 1号对应1,9号对应9,10号对应A,以此类推
SELECT SUBSTRING('123456789ABCDEFGHIJKLMNOPQRSTUV',DAY(GETDATE()),1)

3.辅助

 --去除重复数据,数据表中有很多重复数据,如果其中col1,col2,col3,col4,col5可以表示出每一组重复数据
;WITH cte AS
  (SELECT col1,col2,col3,col4,col5
  ,ROW_NUMBER()OVER(PARTITION BY col1,col2,col3,col4,col5 ORDER BY col1) AS rn
  FROM tableName)
DELETE FROM cte WHERE rn > 1 --快速打开存储过程、视图等
sp_helptext 存储过程名称 --名称前不要加dbo.等所有者
sp_helptext 视图名称 --名称前不要加dbo.等所有者 --用到了某些字符串的视图,存储过程
SELECT a.name,b.[text]
FROM sysobjects a
INNER JOIN syscomments b ON a.id = b.id
WHERE b.[text] LIKE '%你要查的字符串%'
AND a.xtype='v'--'p' --获取表tableName中所有的列名,并用组合。写insert的时候简直不要太爽
SELECT STUFF((SELECT ','+name
  FROM syscolumns
  WHERE id = OBJECT_ID('tableName')
  ORDER BY colorder --colorder:按照列的添加顺序 name:按照列名顺序
  FOR xml path('')),1,1,'')

平时常用sql的更多相关文章

  1. Mysql常用sql语句(八)- where 条件查询

    测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...

  2. Mysql常用sql语句(18)- union 全连接

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 其实Mysql并没有全连接,Oracle才有全连 ...

  3. mysql使用 分区表使用,常用sql

    mysql使用 分区表使用,常用sql 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/84839478未经博主允许不得转载 ...

  4. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  5. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  6. 常用SQL[ORACLE]

        1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点   1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...

  7. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  8. Oracle常用SQL查询

    一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...

  9. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

随机推荐

  1. JavaScript算法实现之汉诺塔(Hanoi)

    目前前端新手,看到的不喜勿喷,还望大神指教. 随着Node.js,Angular.js,JQuery的流行,点燃了我学习JavaScript的热情!以后打算每天早上跟晚上抽2小时左右时间将经典的算法都 ...

  2. 【新手向】如何学习Java集合

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 如果认识我的同学可能就知道,我已经写过很多系列级 ...

  3. C数据结构(文件操作,随机数,排序,栈和队列,图和遍历,最小生成树,最短路径)程序例子

    文件操作 文件打开方式               意义     ”r” 只读打开一个文本文件,只允许读数据     ”w” 只写打开或建立一个文本文件,只允许写数据     ”a” 追加打开一个文本 ...

  4. 使用Feign访问接口

     添加主要依赖 使用Feign访问接口的配置,如果服务不在Eureka上,可以不加Eureka的依赖,用在FeignClient上指定url的方式访问 dependencies { compile(' ...

  5. Quantitative proteomics of Uukuniemi virus-host cell interactions reveals GBF1 as proviral host factor for phleboviruses(乌库涅米病毒-宿主细胞互作的定量蛋白质组学揭示了GBF1是个白蛉病毒的前病毒宿主因子)-解读人:谭亦凡

    期刊名:Molecular & Cellular Proteomics 发表时间:(2019年12月) IF:4.828 单位:1德国海德堡大学附属医院2德国汉诺威医科大学3德国亥姆霍茲感染研 ...

  6. DP思想在斐波那契数列递归求解中的应用

    斐波那契数列:1, 1, 2, 3, 5, 8, 13,...,即 f(n) = f(n-1) + f(n-2). 求第n个数的值. 方法一:迭代 public static int iterativ ...

  7. [TimLinux] Python学习内容框架

    以下内容主体来自<Python学习手册第四版>,大致整理出的方向 1. 第一部分:使用入门 介绍Python语法之前,先对Python的的各个方面进行一个比较宽广的介绍,包含对Python ...

  8. BZOJ1001: [BeiJing2006]狼抓兔子(优化的dinic或转化对偶图求最短路)

    1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 30078  Solved: 7908[Submit][ ...

  9. unity3d 随机添加树木

    开放世界随机地图才是最重要的.. 随机生成树木 Terrain.terrainData //获取地形设置 terrainData.treePrototypes {get;set;} //获取或设置树木 ...

  10. 基于iCamera测试AR0134 960p 全局快门相机模块小结

    基于iCamera测试AR0134 960p 全局快门相机模块小结 首先看看此模块的特性 AR0134 全局曝光 CMOS模块 1280*960像素 5.3 V/lux-sec 摄像头模块实物靓照(上 ...