TSQL - compare dates (year and calendar week) formatted as strings(TSQL - 比较格式化为字符串的日期(年和日历周))
问题描述
我需要一种方法来比较以下字符串格式的日期:'2015 CW 14'
或 '2016 CW 03'
'使用当前年和周,以测试该值是否在过去或>=当前年和周.
I need a way to compare dates in the following string format: '2015 CW 14'
or '2016 CW 03'
'
with the current year and week in order to test if the value is in the past or >= the current year and week.
DECLARE @cw VARCHAR(50)
SET @cw = '2015 CW 13'
SELECT @cw;
SELECT Cast(Year(Getdate()) AS VARCHAR(50))
+ ' CW '
+ Cast(Datepart(week, Getdate()) AS VARCHAR(50))
我相信我的方法不会让我达到目标.
I believe my approach won't get me there.
推荐答案
我认为你在 2016 CW 03
上有问题我将你的声明编辑为 @cw2
,并且您可以看到 <
或 >
或 =
将用于比较.
I think you have a problem on 2016 CW 03
I edit your statement to @cw2
, And you can see <
or >
or =
will work for comparing.
这条线索很有用:
DECLARE @cw VARCHAR(50),
@cw2 VARCHAR(50)
SET @cw = '2015 CW 03'
SET @cw2 = Cast(Year(Getdate()) AS VARCHAR(50))
+ ' CW '
+ RIGHT('00' + Cast(Datepart(week, Getdate()) AS VARCHAR(50)), 2)
SELECT @cw,
@cw2,
CASE
WHEN @cw = @cw2 THEN 0
WHEN @cw < @cw2 THEN -1
ELSE 1
END
这篇关于TSQL - 比较格式化为字符串的日期(年和日历周)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:TSQL - 比较格式化为字符串的日期(年和日历周)


- 更改自动增量起始编号? 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- SQL 临时表问题 2022-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01