我有一个数据类型为nvarchar
的列,该列包含数据,即
2017-12,
2017-28,
2017-00,
0000,
0000-22
等。
因此,在列中我有无效数据,即2017-00
,0000
,0000-22
,所以我希望列输出应该是有效数据,即2017-12
,{{1等等'。
并在连接条件和案例陈述中使用该列。
答案 0 :(得分:0)
使用此查询
我在这里做以下事情。 1.首先从你的价值观中删除 - 2.由于您说2017-12,2017-28是有效数据,表示年份后跟日期。 所以他们应该在2017-1至2017-31之间,即20171和207131,当短划线被删除。
下面的查询首先删除您的列的短划线,然后获取20171和201731之间的值。在查询年份中没有硬编码,所以它适用于明年也像2018年。
Select * from yourtable where REPLACE(yourcolumn, '-', '')
between (year(getdate())+'1') AND (year(getdate())+'31')