Google bigquery 对BigQuery中具有日期时间值的字符串字段的范围查询
我正在将数据从csv文件上传到bigquery表。csv中的每条记录都包含datetime字段值,我将这些值作为字符串存储到BigQuery表字段中。当我查询这些datetime字段以获得所需的rangelike dateField>'2013-01-01 00:00:00'和dateField<'2013-01-10 00:00:00'时,我得到了错误的结果Google bigquery 对BigQuery中具有日期时间值的字符串字段的范围查询,google-bigquery,Google Bigquery,我正在将数据从csv文件上传到bigquery表。csv中的每条记录都包含datetime字段值,我将这些值作为字符串存储到BigQuery表字段中。当我查询这些datetime字段以获得所需的rangelike dateField>'2013-01-01 00:00:00'和dateField
我尝试使用时间戳函数,但没有成功。请帮我解决。我解决了这个问题:- 当我使用datetimeYYYY MM DD HH:MM:SS值生成csv文件时,我使用了一段代码,使用C将该值转换为POSIX valueUNIX时间戳:-
protected string convertDateTimeToPOSIX(string strDateTime)
{
string strPOSIX = "";
DateTime dtmDateTime = DateTime.Parse(strDateTime);
DateTime dtmEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan objTSpan = (dtmDateTime - dtmEpoch);
strPOSIX = objTSpan.TotalSeconds.ToString();
return strPOSIX + "000000";
}
例如,如果strDateTime=16-03-2011 23:51:17,则其POSIX值将变为1300319477000000
文件上传后,我使用web界面查询了大查询:-
SELECT Col1, Col2, Col3, FORMAT_UTC_USEC(POSIX_DateTime) DATE FROM [Dataset.tableName]
WHERE POSIX_DateTime > PARSE_UTC_USEC('2013-01-01 00:00:00') AND POSIX_DateTime < PARSE_UTC_USEC('2013-01-11 00:00:00')
ORDER BY DATE