Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 需要将unix转换为日期,但某些值已采用日期格式_Sql_Postgresql - Fatal编程技术网

Sql 需要将unix转换为日期,但某些值已采用日期格式

Sql 需要将unix转换为日期,但某些值已采用日期格式,sql,postgresql,Sql,Postgresql,我的数据库中有一个字段,其中90%的值是毫秒unix时间戳,但约5%的值为null,5%为实际日期戳,但该字段是文本字段 我正在尝试使用以下方法转换日期: cast(to_timestamp(cast(date_field as bigint)/1000) as date) 问题是,已经是时间戳(文本字段格式)的日期字段把我搞砸了,因为它们无法转换为bigint。所有像这样的值都以“2016-”开头,所以我做了一个查询来排除它们,但它们仍然存在 要排除这些内容的查询: Select disti

我的数据库中有一个字段,其中90%的值是毫秒unix时间戳,但约5%的值为null,5%为实际日期戳,但该字段是文本字段

我正在尝试使用以下方法转换日期:

cast(to_timestamp(cast(date_field as bigint)/1000) as date)
问题是,已经是时间戳(文本字段格式)的日期字段把我搞砸了,因为它们无法转换为bigint。所有像这样的值都以“2016-”开头,所以我做了一个查询来排除它们,但它们仍然存在

要排除这些内容的查询:

Select distinct
date
from table1
where date<>'2016%'
你可以 比如:

where date like '20%' --for years after 2000 (there isnt yet a unix timestimp that starts with 2 )
or date like '19%' (there isnt yet a unix timestimp that starts with 19 )
你可以 比如:

where date like '20%' --for years after 2000 (there isnt yet a unix timestimp that starts with 2 )
or date like '19%' (there isnt yet a unix timestimp that starts with 19 )

因此,您可以将时间转换为毫秒,如日期:

SELECT FROM_UNIXTIME(t.date/1000,'%Y-%m-%d %H:%i:%s') FROM table1 t WHERE t.date NOT LIKE '2016-%' AND t.date IS NOT NULL;

因此,您可以将时间转换为毫秒,如日期:

SELECT FROM_UNIXTIME(t.date/1000,'%Y-%m-%d %H:%i:%s') FROM table1 t WHERE t.date NOT LIKE '2016-%' AND t.date IS NOT NULL;

我的问题是,我试图使用这样的过滤器,但它们不工作。where date='20%'和where date'20%'都不过滤任何内容,即使我在显示结果时看到了这些值。请改用“like”或“not like”,您只能将“%”与like语句一起使用。我的问题是,我正在尝试使用类似的过滤器,但它们不起作用。where date='20%'和where date'20%'都不过滤任何内容,即使我在显示结果时看到了这些值。请改用'like'或'not like',您只能在like语句中使用“%”