如何用SQL临时convert/change数据库中的数据?
How to convert/change data in database temporarily with SQL?
我目前正在使用 daypilot 调度程序制定时间表。我当前的开始和结束数据字段设置为时间表的 class 开始时间段和结束时间段,它们只是从 1 到 9 的整数。但是因为 daypilot 调度程序以 dateTime 格式获取数据,我必须更改class 期间数字到时间和天数,目前 "mon, tues, weds..." 到日期..
有没有临时更改数据的方法,这样当我查询数据库时,我得到的结果将是期间的时间和日期的日期?
这是我的尝试:
SELECT * FROM
(
(SELECT requestID, CASE day WHEN 'Monday' THEN '1' WHEN 'Tuesday' THEN '2' WHEN 'Wednesday' THEN '3' ELSE day END AS dayA FROM request) AS a
INNER JOIN
(SELECT requestID, CASE day WHEN 'Monday' THEN '1' WHEN 'Tuesday' THEN '2' WHEN 'Wednesday' THEN '3' ELSE day END AS dayB FROM request) AS b
ON a.requestID = b.requestID
)
WHERE a.dayA < b.dayB
我从 Change SQL data temporarily 那里得到了这个,但它对我没有用,它只产生了空数据。我哪里出错了,谁能建议我该怎么做?
我已经想出了如何做到这一点...这是我在 table 的列中临时转换数据的通用解决方案:
SELECT ID, Name,
CASE day WHEN 'Monday' THEN '1'
WHEN 'Tuesday' THEN '2'
WHEN 'Wednesday' THEN '3'
WHEN 'Thursday' THEN '4'
WHEN 'Friday' THEN '5'
ELSE day END AS day FROM Table
我目前正在使用 daypilot 调度程序制定时间表。我当前的开始和结束数据字段设置为时间表的 class 开始时间段和结束时间段,它们只是从 1 到 9 的整数。但是因为 daypilot 调度程序以 dateTime 格式获取数据,我必须更改class 期间数字到时间和天数,目前 "mon, tues, weds..." 到日期..
有没有临时更改数据的方法,这样当我查询数据库时,我得到的结果将是期间的时间和日期的日期?
这是我的尝试:
SELECT * FROM
(
(SELECT requestID, CASE day WHEN 'Monday' THEN '1' WHEN 'Tuesday' THEN '2' WHEN 'Wednesday' THEN '3' ELSE day END AS dayA FROM request) AS a
INNER JOIN
(SELECT requestID, CASE day WHEN 'Monday' THEN '1' WHEN 'Tuesday' THEN '2' WHEN 'Wednesday' THEN '3' ELSE day END AS dayB FROM request) AS b
ON a.requestID = b.requestID
)
WHERE a.dayA < b.dayB
我从 Change SQL data temporarily 那里得到了这个,但它对我没有用,它只产生了空数据。我哪里出错了,谁能建议我该怎么做?
我已经想出了如何做到这一点...这是我在 table 的列中临时转换数据的通用解决方案:
SELECT ID, Name,
CASE day WHEN 'Monday' THEN '1'
WHEN 'Tuesday' THEN '2'
WHEN 'Wednesday' THEN '3'
WHEN 'Thursday' THEN '4'
WHEN 'Friday' THEN '5'
ELSE day END AS day FROM Table