试试
IIF(len([第三列]) = 18,Convert(SubString([第三列],7,4)+'-'+SubString([第三列],11,2)+'-'+SubString([第三列],13,2),'System.DateTime'),null)
不过没有办法校验是否正确的日期,如果身份证出错可能会导致其它的问题。建议还是使用代码处理,可以校验身份证的合法性