【问题标题】:How to convert/change data in database temporarily with SQL?如何使用 SQL 临时转换/更改数据库中的数据?
【发布时间】:2015-07-13 08:46:09
【问题描述】:

我目前正在使用 daypilot 调度程序制定时间表。我当前的开始和结束数据字段设置为时间表的课程开始时段和结束时段,它们只是从 1 到 9 的整数。但是由于 daypilot 调度程序以 dateTime 格式获取数据,我必须更改课程时段编号到时间和日期,目前是“周一,周二,周三......”到日期......

是否有临时更改数据,以便当我查询数据库时,我得到的结果将是日期的时间和日期?

这是我的尝试:

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 得到这个,但它对我没有用,它只产生空数据。我哪里错了,谁能建议我怎么做?

【问题讨论】:

  • 你能发布一些示例数据吗?您的日期字段是否包含'Monday''1'
  • 你不能在你的表中添加两列,或者有一个参考表来将ids 更改为时间和天数吗?
  • 该字段包含星期一、星期二等,我想暂时将这些日子转换为数字。我不想在表格中添加更多列。

标签: sql asp.net sql-server webforms daypilot


【解决方案1】:

我已经想出了如何做到这一点...这是我在表格的列中临时转换数据的通用解决方案:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    相关资源
    最近更新 更多