微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅使用SOQL更新列中的空值?

如何解决如何仅使用SOQL更新列中的空值?

在Salesforce Marketing Cloud Automation Studio查询活动中,我对SOQL有疑问。

我想在名为“出生日期”的列中使用用户的出生日期更新空值,该列包括数据类型为date的大量用户的出生日期。

我要根据另一列名为“出生日期2”的列来更新“出生日期”列,该列还包括大量用户的出生日期,但数据类型为字符串。

因此,我的目标是仅利用“出生日期2”列中的数据来更新“出生日期”列中的缺失日期字段。

使用当前非常简单的代码(请参见img 1/2),我要么不更新数据扩展名中的任何内容(当添加WHERE列= NULL时,请参见img 2),要么更新null值,但也覆盖现有的值数据扩展名中的日期值(如果未添加WHERE列= NULL,请参见img 1)。我想知道是否可以简单地更新空字段并保留当前填充的字段?

期待您的来信,如果不清楚我的询问,请告诉我!

解决方法

因此,我认为您可以查询(出生日期)字段为null且(出生日期2)字段不等于null的对象。

SELECT(出生日期),(出生日期2)FROM objectName WHERE(出生日期)= NULL AND(出生日期2)!= NULL

请确保您的(出生日期2)字段必须为YYYY-MM-DD格式。

示例代码。

List<objectName> li = [SELECT (date of birth),(date of birth 2) FROM objectName WHERE (date of birth) = NULL AND (date of birth 2) != NULL];
for(objectName o : li){
 (date of birth) = Date.valueOf((date of birth2));
}
update li;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。