zoukankan
html css js c++ java
Sql Server 日期推算处理,格式化处理
DECLARE
@dt
datetime
SET
@dt
=
GETDATE
()
DECLARE
@number
int
SET
@number
=
3
--
1.指定日期该年的第一天或最后一天
--
A. 年的第一天
SELECT
CONVERT
(
char
(
5
),
@dt
,
120
)
+
'
1-1
'
--
B. 年的最后一天
SELECT
CONVERT
(
char
(
5
),
@dt
,
120
)
+
'
12-31
'
--
2.指定日期所在季度的第一天或最后一天
--
A. 季度的第一天
SELECT
CONVERT
(
datetime
,
CONVERT
(
char
(
8
),
DATEADD
(
Month
,
DATEPART
(Quarter,
@dt
)
*
3
-
Month
(
@dt
)
-
2
,
@dt
),
120
)
+
'
1
'
)
--
B. 季度的最后一天(CASE判断法)
SELECT
CONVERT
(
datetime
,
CONVERT
(
char
(
8
),
DATEADD
(
Month
,
DATEPART
(Quarter,
@dt
)
*
3
-
Month
(
@dt
),
@dt
),
120
)
+
CASE
WHEN
DATEPART
(Quarter,
@dt
)
in
(
1
,
4
)
THEN
'
31
'
ELSE
'
30
'
END
)
--
C. 季度的最后一天(直接推算法)
SELECT
DATEADD
(
Day
,
-
1
,
CONVERT
(
char
(
8
),
DATEADD
(
Month
,
1
+
DATEPART
(Quarter,
@dt
)
*
3
-
Month
(
@dt
),
@dt
),
120
)
+
'
1
'
)
--
3.指定日期所在月份的第一天或最后一天
--
A. 月的第一天
SELECT
CONVERT
(
datetime
,
CONVERT
(
char
(
8
),
@dt
,
120
)
+
'
1
'
)
--
B. 月的最后一天
SELECT
DATEADD
(
Day
,
-
1
,
CONVERT
(
char
(
8
),
DATEADD
(
Month
,
1
,
@dt
),
120
)
+
'
1
'
)
--
C. 月的最后一天(容易使用的错误方法)
SELECT
DATEADD
(
Month
,
1
,
DATEADD
(
Day
,
-
DAY
(
@dt
),
@dt
))
--
4.指定日期所在周的任意一天
SELECT
DATEADD
(
Day
,
@number
-
DATEPART
(Weekday,
@dt
),
@dt
)
--
5.指定日期所在周的任意星期几
--
A. 星期天做为一周的第1天
SELECT
DATEADD
(
Day
,
@number
-
(
DATEPART
(Weekday,
@dt
)
+
@@DATEFIRST
-
1
)
%
7
,
@dt
)
--
B. 星期一做为一周的第1天
SELECT
DATEADD
(
Day
,
@number
-
(
DATEPART
(Weekday,
@dt
)
+
@@DATEFIRST
-
2
)
%
7
-
1
,
@dt
)
DECLARE
@dt
datetime
SET
@dt
=
GETDATE
()
--
1.短日期格式:yyyy-m-d
SELECT
REPLACE
(
CONVERT
(
varchar
(
10
),
@dt
,
120
),N
'
-0
'
,
'
-
'
)
--
2.长日期格式:yyyy年mm月dd日
--
A. 方法1
SELECT
STUFF
(
STUFF
(
CONVERT
(
char
(
8
),
@dt
,
112
),
5
,
0
,N
'
年
'
),
8
,
0
,N
'
月
'
)
+
N
'
日
'
--
B. 方法2
SELECT
DATENAME
(
Year
,
@dt
)
+
N
'
年
'
+
DATENAME
(
Month
,
@dt
)
+
N
'
月
'
+
DATENAME
(
Day
,
@dt
)
+
N
'
日
'
--
3.长日期格式:yyyy年m月d日
SELECT
DATENAME
(
Year
,
@dt
)
+
N
'
年
'
+
CAST
(
DATEPART
(
Month
,
@dt
)
AS
varchar
)
+
N
'
月
'
+
DATENAME
(
Day
,
@dt
)
+
N
'
日
'
--
4.完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
SELECT
CONVERT
(
char
(
11
),
@dt
,
120
)
+
CONVERT
(
char
(
12
),
@dt
,
114
)
查看全文
相关阅读:
栈的概念
什么是 JavaConfig?
数据库连接池的原理。为什么要使用连接池。
根据你以往的经验简单叙述一下MYSQL的优化
动态横切
横切技术
什么是AOP
BIO ,NIO ,AIO 有什么区别?
简述Comparable和Comparator两个接口的区别
Spring Boot 客户端?
原文地址:https://www.cnblogs.com/nosnowwolf/p/1135560.html
最新文章
leetcode67 C++ 4ms 二进制求和 addBinary
gradle 构建scala程序
排序
Bandit 算法与推荐系统
LinUCB算法
损失函数
快排---非递归&递归实现
技术大牛
推荐系统干货总结
计算广告相关
热门文章
Gradient Boosting Decision Tree
c语言中文件相关操作
why slow thinking wins
字符串的输入问题
指针的概念
可执行程序的结构
利用指针地址偏移打印一维数组
指针数组、数组指针、指针函数、函数指针的简单介绍
按位与、按位或、按位异或、左移、右移运算符的简单介绍(部分二进制运算符的简单介绍)
利用c语言做简单的迷宫小游戏
Copyright © 2011-2022 走看看