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
)
查看全文
相关阅读:
b_jd_水坑数量(向外流dfs)
b_wy_购买商品使得满减最省(01背包)
b_wy_最优路径(构造树+dfs)
Redis:List列表相关指令
Redis:String字符串常用指令
Redis:linux基本的指令
Redis:redis-benchmark性能测试/压力测试
Redis:增大并发量的演进过程
Kafka的下载安装和测试,及消费端数据中文乱码问题
Git:常用命令
原文地址:https://www.cnblogs.com/nosnowwolf/p/1135560.html
最新文章
「SOL」屠龙勇士(LOJ)
「SOL」礼物(BZOJ)
「NOTE」进阶多项式小札
「SOL」Bridge Across Islands(POJ)
【NX二次开发】隐藏、显示对象UF_OBJ_set_blank_status
【NX二次开发】根据部件名返回部件tag,UF_PART_ask_part_tag
【NX二次开发】获取视图当前的剪辑边界UF_VIEW_ask_current_xy_clip()
【NX二次开发】切换模块的方法,切换到制图模块
UF_DRF 制图符号标注尺寸
UF_DRAW 制图操作
热门文章
【NX二次开发】获取尺寸信息UF_DRF_ask_draft_aid_text_info
【每日一题】1011. 在 D 天内送达包裹的能力
【每日一题】897. 递增顺序搜索树
b_blf_日期合并(记录数值最大结尾)
b_tx_手机有电的最长时间(二分)
a_tx_使天平平衡所需要的最少砝码(滚动数组+取模背包)
b_lc_绝对差值和(贪心)
b_lc_统计一个数组中好对子的数目(数学思路)
b_360_限制每次飞行m距离前提下n选k最大(向前看 dp)
b_dd_一次交换使字符串字典序最小(思维)
Copyright © 2011-2022 走看看