我正在尝试转换时间在平面文件源中的写入方式,因此它实际上看起来像时间。(如果这有任何意义)。
现在我将它作为1215
, 630
, 10
, 1
,.. 等。所以它可以是 4-1 个字符长,所以我需要根据列的长度对其进行转换。
我在派生列中使用表达式执行此操作,但是我似乎无法使其工作,不确定我的语法是否错误或什么,表达式看起来像这样,但是我收到错误:
(LEN([TIME OCC]) == 4) ? (SUBSTRING([TIME OCC],1,2) + ":" + SUBSTRING([TIME OCC],3,2)) : (LEN([TIME OCC]) == 3) ? (SUBSTRING([TIME OCC],1,1) + ":" + SUBSTRING([TIME OCC],2,2)) : (LEN([TIME OCC]) == 2) ? (SUBSTRING([TIME OCC],1,2) + ":00") : (LEN([TIME OCC]) == 1) ? (SUBSTRING([TIME OCC],1,1) + ":00")
当我只使用以下两个值时,它似乎工作得很好:
LEN([TIME OCC]) == 3 ? SUBSTRING([TIME OCC],1,1) + ":" + SUBSTRING([TIME OCC],2,2) : SUBSTRING([TIME OCC],1,2) + ":" + SUBSTRING([TIME OCC],3,2)
我将不胜感激任何帮助,谢谢!