我在一个表中有两列:STOP
和START
,类型为varchar
。
我想在两列之间有所区别,我正在使用:
SELECT DATEDIFF(stop, start) AS difference from T1;
null
由于不同的数据类型,它给了我。
为了测试,我还尝试了:
SELECT STR_TO_DATE('5/16/2011 20:14 PM', '%c %e %Y %H:%i:%s');
它也在给予null
。
我该怎么办?我有n
不同格式的数据和时间。
您确实需要将所有日期和时间戳统一为一种格式,用于
start
和stop
.举个例子,我将计算第一行的时间差。
这是计算它的代码:
准备好看到不同了吗?这里是:
最终答案
尽管这是正确的,但为所有行编写这种复杂的方法是不合逻辑的,尤其是因为某些行具有不同的格式。
因此,将
start
和stop
列转换为DATETIME
或符合您的最大利益TIMESTAMP