我知道这篇文章已经过时了,但我看到其他人在这方面寻求帮助。
下面的代码仅适用于具有 D、W、M 或 Y 的格式,因为我不使用 C、WD 或 Q。编辑以匹配您的数据库名称。
原始代码取自互联网上的其他地方。
交期日期格式如下:
1 = C - 当前(最后一个字符不能以此结尾,下面的代码不适用于具有此字符的字段)
2 = D - 日
3 = WD - 工作日
4 = W - 周
5 = M - 月
6 = Q - 四分之一
7 = Y - 年
在您的选择中,执行以下操作:
, Case
When right([Vendor Lead Time],1) = char(2) Then concat(left([Vendor Lead Time],len([Vendor Lead Time])-1),'D')
When right([Vendor Lead Time],1) = char(3) Then concat(left([Vendor Lead Time],len([Vendor Lead Time])-1),'WD')
When right([Vendor Lead Time],1) = char(4) Then concat(left([Vendor Lead Time],len([Vendor Lead Time])-1),'W')
When right([Vendor Lead Time],1) = char(5) Then concat(left([Vendor Lead Time],len([Vendor Lead Time])-1),'M')
When right([Vendor Lead Time],1) = char(6) Then concat(left([Vendor Lead Time],len([Vendor Lead Time])-1),'Q')
When right([Vendor Lead Time],1) = char(7) Then concat(left([Vendor Lead Time],len([Vendor Lead Time])-1),'Y')
End as 'Vendor Lead Time'
, Case
When [Vendor Lead Time] is null Then 0
When [Vendor Lead Time] like '' Then 0
When right([Vendor Lead Time],1) = char(2) Then cast(left([Vendor Lead Time],len([Vendor Lead Time])-1)as int)
When right([Vendor Lead Time],1) = char(4) Then cast(left([Vendor Lead Time],len([Vendor Lead Time])-1)*7 as int)
When right([Vendor Lead Time],1) = char(5) Then cast(left([Vendor Lead Time],len([Vendor Lead Time])-1)*30 as int)
When right([Vendor Lead Time],1) = char(7) Then cast(left([Vendor Lead Time],len([Vendor Lead Time])-1)*365 as int)
End as 'Vendor Lead Time Days'
, Case
When right([Transport Time],1) = char(2) Then concat(left([Transport Time],len([Transport Time])-1),'D')
When right([Transport Time],1) = char(3) Then concat(left([Transport Time],len([Transport Time])-1),'WD')
When right([Transport Time],1) = char(4) Then concat(left([Transport Time],len([Transport Time])-1),'W')
When right([Transport Time],1) = char(5) Then concat(left([Transport Time],len([Transport Time])-1),'M')
When right([Transport Time],1) = char(6) Then concat(left([Transport Time],len([Transport Time])-1),'Q')
When right([Transport Time],1) = char(7) Then concat(left([Transport Time],len([Transport Time])-1),'Y')
End as 'Vendor Transport Time'
, Case
When [Transport Time] is null Then 0
When [Transport Time] like '' Then 0
When right([Transport Time],1) = char(2) Then cast(left([Transport Time],len([Transport Time])-1)as int)
When right([Transport Time],1) = char(4) Then cast(left([Transport Time],len([Transport Time])-1)*7 as int)
When right([Transport Time],1) = char(5) Then cast(left([Transport Time],len([Transport Time])-1)*30 as int)
When right([Transport Time],1) = char(7) Then cast(left([Transport Time],len([Transport Time])-1)*365 as int)
End as 'Vendor Transport Time Days'
对于总提前期,请选择:
([Vendor Lead Time Days]+[Vendor Transport Time Days]) as 'Total Vendor Lead Time'