自定义标签值在 SOQL 查询中不起作用
Custom Label value not working in SOQL Query
我正在尝试在 SOQL 查询中使用自定义标签值。查询不接受自定义标签值。它正在等待数字。
整数num_days = Integer.valueOf(System.Label.Num_of_Days);
Select id, name FROM contact WHERE LastModifiedDate >= LAST_N_DAYS :num_days
谢谢,
阿尼尔·库马尔
您正在使用的“常量”的完整语法中已经有一个分号:LAST_N_DAYS:7
等。整个内容必须是编译时已知的文本,而不仅仅是 [ 之前的部分=13=]
这甚至无法编译,有 1 或 2 个分号。
Integer x = 7;
List<Account> accs = [SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:x];
System.debug(accs);
您需要使用动态 SOQL 或使用您的自定义标签来构建日期变量
String x = '7';
List<Account> accs = Database.query('SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:' + x);
System.debug(accs);
DateTime cutoff = System.today().addDays(- Integer.valueOf(x));
System.debug(cutoff);
System.debug([SELECT Id FROM Account WHERE CreatedDate <= TODAY AND CreatedDate >= :cutoff]);
我正在尝试在 SOQL 查询中使用自定义标签值。查询不接受自定义标签值。它正在等待数字。
整数num_days = Integer.valueOf(System.Label.Num_of_Days); Select id, name FROM contact WHERE LastModifiedDate >= LAST_N_DAYS :num_days
谢谢, 阿尼尔·库马尔
您正在使用的“常量”的完整语法中已经有一个分号:LAST_N_DAYS:7
等。整个内容必须是编译时已知的文本,而不仅仅是 [ 之前的部分=13=]
这甚至无法编译,有 1 或 2 个分号。
Integer x = 7;
List<Account> accs = [SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:x];
System.debug(accs);
您需要使用动态 SOQL 或使用您的自定义标签来构建日期变量
String x = '7';
List<Account> accs = Database.query('SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:' + x);
System.debug(accs);
DateTime cutoff = System.today().addDays(- Integer.valueOf(x));
System.debug(cutoff);
System.debug([SELECT Id FROM Account WHERE CreatedDate <= TODAY AND CreatedDate >= :cutoff]);