我正在尝试创建一个WHERE子句
WHERE column_1 = TRIM(LEADING '20' FROM(DATEPART(year, GETDATE())))基本上,column_1包含财年,但是财年在数据库中是8或9,而不是2008或2009。
所以我需要找出一种方法,至少修剪掉'20',这样查询才能正确运行…动态程度越高越好,因为我需要将其设置为在SSIS pkg中运行,而硬编码越少越好。
有什么建议吗?提前感谢!琼恩
发布于 2009-04-09 13:37:45
取决于column_1的数据类型
print right(datepart(year,getdate()),2) --带有前导零的字符串print convert(int,right(datepart(year,getdate()),2))--int
编辑
基于@Richard的回答
打印日期部分(year,getdate()) % 100
发布于 2009-04-09 13:39:23
不是修剪,而是使用模块:
...
WHERE column_1 = (YEAR(GETDATE()) % 100)发布于 2009-04-09 13:39:37
有没有一种只打印年份最后两位数字的转换格式?
https://stackoverflow.com/questions/734250
复制相似问题