【问题标题】:Change SQL data temporarily临时更改 SQL 数据
【发布时间】:2014-12-06 17:59:21
【问题描述】:

我想知道是否可以临时更改SQL中的数据

我有三个月的 varchar 七月、八月和九月。我想将它们分别更改为 1、2 和 3,以便我可以执行以下操作:

SELECT * FROM
(
(SELECT aID, month AS monthA FROM tblA) AS a
INNER JOIN
(SELECT bID, month AS monthB FROM tblB) AS b
ON a.ID = b.ID
)
WHERE a.month < b.month

我知道这行得通

SELECT * FROM
    (
    (SELECT aID, month AS monthA FROM tblA) AS a
    INNER JOIN
    (SELECT bID, month AS monthB FROM tblB) AS b
    ON a.ID = b.ID
    )
    WHERE (a.month = 'July' AND b.month = 'August')

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    听起来您只是想将 varchar 数据暂存为 1、2、3,而不必在数据库中更改它,对吗?

    你为什么不做一个 case stmt 将值更改为 1,2,3 然后做你需要做的事情。

     SELECT * FROM
    (
    (SELECT aID, CASE month WHEN 'July' THEN '1' WHEN 'August' THEN '2' WHEN 'September' THEN '3' ELSE month END AS monthA FROM tblA) AS a
    INNER JOIN
    (SELECT bID, CASE month WHEN 'July' THEN '1' WHEN 'August' THEN '2' WHEN 'September' THEN '3' ELSE month END AS monthB FROM tblB) AS b
    ON a.aID = b.bID
    )
    WHERE a.monthA < b.monthB
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多