API12
查询Date类型字段
报错:1008231001 云数据库服务器侧错误
当你数据库字段中有一个Date类型时,
你开心的使用谓词查询:
const minDate: Date = new Date(date);
let condition = new cloudDatabase.DatabaseQuery(record_table);
condition.greaterThanOrEqualTo('startDate', minDate);
报错:
1008231001 云数据库服务器侧错误
你去官网错误码查看的结果是:
可能原因
云数据库服务器出现异常,或认证失败。
处理步骤
请通过在线工单系统联系技术支持人员定位问题。
这个时候,你去AGC后台看你的字段或者去检查认证都是没卵用的。
因为,你只是忘了一个小小的步骤:
格式化Date
你只需要将miniDate输出位getTime()时间戳,或者格式化为字符串
2025-03-09 11:47:30 425
比如说:
const minDate: Date = new Date(date);
// 日期的时间戳
const minDateNum = minDate.getTime();
let condition = new cloudDatabase.DatabaseQuery(record_table);
condition.greaterThanOrEqualTo('startDate', minDateNum );
const minDate: Date = new Date(date);
// 格式化日期为 "YYYY-MM-DD HH:MM:SS SSS" 格式
const minDateStr = `${minDate.getFullYear()}-${String(minDate.getMonth() + 1).padStart(2, '0')}-${String(minDate.getDate()).padStart(2, '0')} ${String(minDate.getHours()).padStart(2, '0')}:${String(minDate.getMinutes()).padStart(2, '0')}:${String(minDate.getSeconds()).padStart(2, '0')} ${String(minDate.getMilliseconds()).padStart(3, '0')}`;
let condition = new cloudDatabase.DatabaseQuery(record_table);
condition.greaterThanOrEqualTo('startDate', minDateStr );
OK,解决。
注意:时间字符串格式,要注意服务器和端侧之间的时间差异。