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
)
查看全文
相关阅读:
P4995 跳跳!
P4306 [JSOI2010]连通数
P1339 [USACO09OCT]热浪Heat Wave
P2002 消息扩散
P3388 【模板】割点(割顶)
P1656 炸铁路
P2863 [USACO06JAN]牛的舞会The Cow Prom
P1516 青蛙的约会
3.从尾到头打印链表
2.替换空格
原文地址:https://www.cnblogs.com/nosnowwolf/p/1135560.html
最新文章
POJ 2635 The Embarrassed Cryptographer 大数模
POJ 3321 Apple Tree dfs+二叉索引树
SDUT 1305 查找基因序列问题 dp
POJ 2531 Network Saboteur 位运算子集枚举
POJ 1260 Pearls DP
POJ 1836 Alignment 水DP
POJ 1276 Cash Machine 多重背包
POJ 1837 Balance 01背包
【转】传统的高精度算法
【转】算法总结,素数判断
热门文章
关于判断回文数 以及 质数
回文数的一点点讨论【转】
HDOJ 1175 连连看 DFS
DOJ 1010 Tempter of the Bone (DFS)
C语言中的未定义行为
你认为为什么C++不叫做++C?
【转】动态申请内存空间
USACO 1.3.4 Prime Cryptarithm
P1525 关押罪犯
P2342 叠积木
Copyright © 2011-2022 走看看