一尘不染

替换列中的最后两个字符

sql

我有一个日期格式为201201、201202、201203等的列。

这是一个财务数据库,因此存在期间13;但是,期间12和13合并用于报告目的。

当最后两个字符为13时,如何将其替换为12?

我开始与

SELECT REPLACE(PERIOD, '13', '12')
FROM @b_s_summary

但是,当然,这与2013年这一年相去甚远。

感谢收到所有建议。


阅读 172

收藏
2021-03-08

共1个答案

一尘不染

在这种情况下,您可以使用Substring:

SELECT REPLACE(PERIOD, SUBSTRING(PERIOD, len(PERIOD) - 1, 2), '12')
FROM @b_s_summary WHERE PERIOD LIKE '%13'

这是否适合您,还是您需要在过去或未来几年采用更具活力的方法?

2021-03-08