临时更改SQL数据

临时更改SQL数据,sql,sql-server,Sql,Sql Server,我想知道是否可以临时更改SQL中的数据 我有三个月的假期,分别是七月、八月和九月。我想将它们分别更改为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 听起来您只想将varchar数据暂存

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

我有三个月的假期,分别是七月、八月和九月。我想将它们分别更改为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

听起来您只想将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
 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