SQL Server 各种时间业务处理
1.SQL 生成随机字符串作为流水号
SELECT CONVERT(varchar(100), GETDATE(), 112)
--年月日时分秒
SELECT 'JS'+replace(CONVERT(varchar(10), GETDATE(), 112),'-','')
+replace(CONVERT(varchar(10), GETDATE(), 108),':','')
--随机英文字符
select char(65+ceiling(rand()*25))+RIGHT(Char(65),30)
select CEILING(rand()*10)
--英文加数字 随机五位数字
select UPPER( CHAR(65+CEILING(rand()*25)))+RIGHT(rand(),5)
select UPPER( CHAR(65+CEILING(rand()*25)))+RIGHT(rand()*10,1)
--字母+年月日时分秒+英文+数字 随机五位
SELECT 'LS'+replace(CONVERT(varchar(10), GETDATE(), 112),'-','')
+replace(CONVERT(varchar(10), GETDATE(), 108),':','')+UPPER( CHAR(65+CEILING(rand()*25)))+RIGHT(rand(),5)
--字母+年月日时分秒+英文 多位随机英文位数+数字 随机3位
SELECT 'LS'+replace(CONVERT(varchar(10), GETDATE(), 112),'-','')
+replace(CONVERT(varchar(10), GETDATE(), 108),':','')
+UPPER(CHAR(65+CEILING(RAND()*25))
+CHAR( 65+CEILING(RAND()*25))
+CHAR( 65+CEILING(RAND()*25))
+CHAR( 65+CEILING(RAND()*25))
)+RIGHT(rand(),3)
2.SQL获取本周 上周 本月 上月 的开始时间和结束时间
DECLARE @ThisWeekStartTime NVARCHAR(100),@ThisWeekEndTime NVARCHAR(100),--本周
@LastWeekStartTime NVARCHAR(100),@LastWeekEndTime NVARCHAR(100),--上周
@ThisMonthStartTime NVARCHAR(100),@ThisMonthEndTime NVARCHAR(100),--本月
@LastMonthSartTime NVARCHAR(100),@LastMonthEndTime NVARCHAR(100),--上月
@LastestHalfYearStartTime NVARCHAR(100),@LastestHalfYearEndTime NVARCHAR(100),--近半年
@LastestOneYearStartTime NVARCHAR(100),@LastestOneYearEndTime NVARCHAR(100)--近一年 SELECT @ThisWeekStartTime= CONVERT(nvarchar(10), DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -1, getdate()) ), 0),121)--本周开始时间
SELECT @ThisWeekEndTime= CONVERT(nvarchar(10), DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -1, getdate()) ), 6),121)--本周结束时间 SELECT @LastWeekStartTime= CONVERT(nvarchar(10),DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -7, getdate()) ), 0),121)--上周开始时间
SELECT @LastWeekEndTime= CONVERT(nvarchar(10), DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd, -7, getdate()) ), 6),121)--上周结束时间 SELECT @ThisMonthStartTime=CONVERT(nvarchar(10),dateadd(dd,-day(getdate())+1,getdate()),121)--本月开始时间
SELECT @ThisMonthEndTime=CONVERT(nvarchar(10),dateadd(dd,-day(getdate()),dateadd(m,1,getdate())),121)--本月结束时间 SELECT @LastMonthSartTime=CONVERT(nvarchar(10),dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())),121)--上月开始时间
SELECT @LastMonthEndTime= CONVERT(nvarchar(10), dateadd(dd,-day(getdate()),getdate()),121) --上月结束时间 SELECT @LastestHalfYearStartTime= CONVERT(nvarchar(10), dateadd(dd,-day(dateadd(month,-6,getdate()))+1,dateadd(month,-6,getdate())) ,121)--近半年开始时间
SELECT @LastestHalfYearEndTime=CONVERT(nvarchar(10), dateadd(dd,-day(getdate()),getdate()),121)--近半年结束时间 SELECT @LastestOneYearStartTime= CONVERT(nvarchar(10), dateadd(dd,-day(dateadd(month,-12,getdate()))+1,dateadd(month,-12,getdate())) ,121)--近一年开始时间
SELECT @LastestOneYearEndTime=CONVERT(nvarchar(10), dateadd(dd,-day(getdate()),getdate()),121)--近一年结束时间 --当前时间 select getdate()
--当前时间周的起始日期(以周一为例)select DATEADD(week,DATEDIFF(week,0,getdate()),0)
--上周起始:select dateadd(week,-1,DATEADD(week,DATEDIFF(week,0,getdate()),0))
--上上周起始:select dateadd(week,-2,DATEADD(week,DATEDIFF(week,0,getdate()),0))
--上上上周起始:select dateadd(week,-3,DATEADD(week,DATEDIFF(week,0,getdate()),0))
3. 开始时间和结束时间拼接一起
SELECT CONVERT(nvarchar(10),dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())),121)+'~'+
CONVERT(nvarchar(10), dateadd(dd,-day(getdate()),getdate()),121)--上月开始时间~结束时间 作为周期时间 SELECT @LastMonthTime=CONVERT(nvarchar(10),dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())),121)+'~'+
CONVERT(nvarchar(10), dateadd(dd,-day(getdate()),getdate()),121)--上月开始时间~结束时间 作为周期时间
--取年月格式
SELECT convert(VarChar(7), '2018-11-31 23:59:59',120) select CONVERT(VarChar(7), GETDATE(), 120) -- 分组查询统计 COUNT 中使用 case when then end
select d.Name,
count(case when d.Name='A' then 'num' end)as AA,
count(case when d.Name='B' then 'num' end)as BB,
count(case when d.Name='C' then 'num' end)as CC,
count(case when d.Name='D' then 'num' end)as DD,
count(case when d.Name='E' then 'num' end)as EE,
count(case when d.Name='F' then 'num' end)as FF,
count(case when d.Name='G' then 'num' end)as GG
from Brands d
group by d.Name
--取年月日格式
Select CONVERT(varchar(100), GETDATE(), 23)--2018-11-22
Select CONVERT(varchar(100), '2018-11-31 23:59:59', 23)--2018-11-22
Select CONVERT(varchar(10),'2018-11-01 23:59:59',120)+'-'+CONVERT(varchar(10),'2018-11-31 23:59:59',120)
--标准Update写法
update A SET A.SettleState='已结算',A.SettleDate=getdate() FROM OrderDetail A
WHERE A.SettleState='待结算'
SQL Server 各种时间业务处理的更多相关文章
- sql server日期时间转字符串
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- sql server日期时间转字符串(转)
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- SQL Server日期时间格式转换字符串详解
本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...
- SQL Server 取日期时间格式 日期与字符串之间的转换
SQL Server 取日期时间部分 在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的 ...
- sql server 日期时间与字符串的转换
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- sql server日期时间函数
From:http://www.cnblogs.com/linzheng/archive/2010/11/17/1880208.html 1. 当前系统日期.时间 select getdate() ...
- SQL Server 系统时间
getdate()函数:取得系统当前的日期和时间.返回值为datetime类型的. 用法:getdate() 例子: select getdate() as dte,dateadd(day,-1,ge ...
随机推荐
- asp.net core自定义模型验证——前端验证
转载请注明出处:http://www.cnblogs.com/zhiyong-ITNote/ 官方网站:https://docs.microsoft.com/zh-cn/aspnet/core/mvc ...
- C# winform 弹出确认消息框
if (MessageBox.Show("确认删除?", "此删除不可恢复", MessageBoxButtons.YesNo) == DialogResult ...
- AE缺失Form Trapcode Form
缺失Form 下载链接: trapcode套装插件2017下载_Trapcode系列十款插件汉化版[支持AE CC 64位] - 迷你下载 下载Trapcode就可以了,应该是TC里的 去新CG下插件 ...
- 如何避免Android程序的ANR?
In Android, the system guards against applications that are insufficiently responsive for a period o ...
- BZOJ5100 : [POI2018]Plan metra
若$1$到$n$之间没有其它点,则$1$到$n$的距离为任意一点到它们距离的差值,按照距离关系判断每个点是挂在$1$上还是挂在$n$上即可. 否则$1$到$n$的距离只可能为任意一点到它们距离和的最小 ...
- ubuntu 配置
这是安装语言包 sudo apt-get install language-pack-touch-zh-hans language-pack-touch-zh-hant 这是安装字体 sudo apt ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第5章编程练习2
#include <iostream>using namespace std;const int MAXSIZE=100;int main(){ int a[MAXSIZE]; int s ...
- ES6_函数方法
//2017/7/15 //Javascript 中的方法:在一个对象中绑定函数,称为这个对象的方法. */ var boy={ name:'xiaoming', birth:2007, age:fu ...
- JS_高程4.变量,作用域和内存问题(1)
1.基本类型和应用类型的值 ECMAScript变量可能包含两种不同数据类型的值: 基本类型值——简单的数据段.(5种基本的数据类型,按值访问,因为可以操作保存在变量中的实际的值.) 引用类型值——多 ...
- Servlet(2)—java项目下web应用程序
在java项目下手动写一个web程序 步骤: ①创建一个java项目并在根目录创建一个WebContent目录文件 ②WebContent下创建WEB-INF目录文件 ③WEB-INF下创建class ...