使用FDBatchMove的SQL导入excel表到sql表,设置条件时一头雾水,函数不遵守sql的规则。
比如替换字段的TAB键值为空,replace(字段名,char(9),'')竟然提示错误,百思不得其解。
试遍了几乎所有的函数,竟然是chr(9)。
这个好像是excel的用法,难道read的字符串,要遵守数据源的规则?那还不乱套了?
再比如sql中没有trim()函数,在这里却可以使用。
不过,REPLACE函数可以使用,但是SUBSTITUTE函数就不能使用,一脸懵逼。
备忘一下。
---------------
对FDbatchmove一点点的认识:
1、FDBatchMoveSQLReader1.ReadSQL。read excel表,如果在这里写规则,可以使用trim()chr(),且必须FDBatchMove1.Options - [poSkipUnmatchedDestFields],否则系统认为找不到字段名,而且你用 AS 字段名,就提示错误。
2、FDBatchMoveSQLWriter1.WriteSQL。write masql table,规则最好是写在这里 函数(:变量),不易出错,且符合mssql的内置函数使用规则ltrim()char()。
以上两句使用sql的规则完全不同