你能帮我用query转换这个数据吗?
<表类>
id
datetime
状态
tbody><<tr>1 2022-04-01 07:38:31 在 12022-04-01 12:07:17 在 12022-04-01 12:07:39 打破 12022-04-01 16:43:17 时间 12022-04-02 07:38:31 在 12022-04-02 12:07:39 打破 表类>
你需要使日期函数正确的SQL类型你正在使用,这是T-SQL (MS SQL Server)代码:
SELECT ID,
convert(date,Datetime,111) as Day,
MAX(CASE WHEN status = 'Time In' THEN Datetime ELSE NULL END) as TimeIn,
MAX(CASE WHEN status = 'Break In' THEN Datetime ELSE NULL END) as BreakIn,
MAX(CASE WHEN status = 'Break Out' THEN Datetime ELSE NULL END) as BreakOut,
MAX(CASE WHEN status = 'Time Out' THEN Datetime ELSE NULL END) as TimeOut
FROM mytest
GROUP BY ID,
convert(date,Datetime,111)
一个建议:考虑更改datetime列的名称——给一个列一个保留词作为列名会在某些时候回来困扰你。
同样,如果您只想要时间部分,那么应用任何适合您的SQL风格的逻辑来从Datetime解析它。