sql - 使用带有 Talend 的 tDBinput 选择 globalmap 给出错误:无效的字符常量
问题描述
我必须删除人名中的重音符号,但是当它在 SQL oracle 中工作时,我无法在 Talend 中应用该函数。
此查询适用于我的 tDBInput 组件:
"SELECT '"+((String)globalMap.get("copyOfSORTIE.NOM"))+"' as nom_nom_compl,
'"+((String)globalMap.get("copyOfSORTIE.ENTETE"))+"' entete
FROM DUAL"
但是,当我想添加转换功能时,它不起作用
此查询不起作用:
"SELECT '"+((String)globalMap.get(CONVERT("copyOfSORTIE.NOM",'US7ASCII')))+"' as nom_nom_compl,
'"+((String)globalMap.get("copyOfSORTIE.ENTETE"))+"' entete
FROM DUAL"
在我的天赋中:
我收到此错误
它的工作语法是什么?
谢谢!
解决方案
有两件事:
我不知道 CONVERT 方法,但我可以看到您将其应用于 globalMap 变量的键,而不是值(好像您想转换“myKey”而不是“myValue”,它附加到钥匙)。你确定这是你想要实现的吗?如果不是,语法应该类似于
"SELECT CONVERT('"+((String)globalMap.get("copyOfSORTIE.NOM"))+"','US7ASCII') "
在 talend 中实现的一个有用的 java 方法是
TalendString.removeAccents("")
您可以直接应用于 talend 变量,因此不使用 SQL 方法。
推荐阅读
- java - 为什么这个正则表达式无法准确检查?
- amazon-web-services - 找到带有“userPools”提供程序的 @auth 指令,但该项目没有配置 Cognito 用户池身份验证提供程序
- applescript - 检查 'localhost' url 时,'starts with' 不起作用
- java - 如何在没有分隔符的情况下拆分单词并在 Java 8 中对拆分字符串执行操作?
- amazon-web-services - terraform 中的字符串列表/元组在 IAM 策略资源中不起作用
- c++ - 关于初始化内部类实例的问题
- node.js - 无论缓存如何更新 React 中的 redux 存储
- ruby - Ruby Rspec,“让”不被接受为示例组 Rspec 中的可用
- javascript - 为什么调用重定向后我的页面没有加载?
- groovy - JMeter jp@gc-WebDriver Sampler XML 按钮上的元素动态名称