为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.0
【操作系统】:麒麟V10
【CPU】:arm
【问题描述】*:在实际应用中,mysql数据库有replace函数,代码示例如下:
sql = "UPDATE 数据库.表 SET 表字段F=REPLACE ( 表字段F , 'A' ,'B')";
其中 表字段F 数据表的实际字段,A 是表字段F 中的字符 ,此行代码的功能是把 表字段F 中的 A 字符替换为 B字符,但是在dm数据库中,在使用UPDATE REPLACE不可用,请问dm有哪个函数具有此功能,实际应用中,此功能函数必须得有,才能实现要求的功能。
测试一下下面这个方法是否有效,其中的 99999999 你可以找个比表中BLOB字段最大长度大些的值,主要目的是把BLOB类型数据转换成VARBINARY,这样就可以用REPLACE来作替换了,后面chartobin是用来把字符数据也转换成varbinary类型数据
UPDATE 表名
SET 字段F = REPLACE(SUBSTRBLB(字段F,1,99999999),chartobin('A'),chartobin('B'))
replace 函数在达梦中可以正常使用,提供的示例也可以支持。
实际使用中如果有问题,需要结合报错具体分析一下。