如果(并且它是一个很大的如果)格式保持不变,有一个数字和一个单位,你应该能够创建一个 case 语句来获得最小单位的总数。在您的示例中,让我们使用天作为最小单位:
CASE
WHEN timeToMaturity LIKE '%Days' THEN cast(rtrim(timeToMaturity,'abcdefghijklmnopqrstuvwxyz')as INT) * 1
WHEN timeToMaturity LIKE '%Weeks' THEN cast(rtrim(InterestRate.timeToMat,'abcdefghijklmnopqrstuvwxyz')as INT) * 7
WHEN timeToMaturity LIKE '%Months' THEN cast(rtrim(timeToMaturity,'abcdefghijklmnopqrstuvwxyz')as INT) * 30
WHEN timeToMaturity LIKE '%Years' THEN cast(rtrim(timeToMaturity,'abcdefghijklmnopqrstuvwxyz')as INT) * 365
ELSE 0
END AS TotalDaysToMaturity
如果(并且它是一个很大的如果)格式保持不变,有一个数字和一个单位,你应该能够创建一个 case 语句来获得最小单位的总数。在您的示例中,让我们使用天作为最小单位:
现在,我意识到当涉及到月份时,您可能需要做一些不同的事情,因为所有月份都不相等,但这可能符合您的需要。也许有人会过来动态地解决这个问题。