我有文本在我的数据库中,我想要转换为唯一的数字。
例如,我有一根柱子,所有的季节都有,比如冬、夏、秋、春。现在,我想用数字1来表示冬天,例如,数字1表示夏天,2等等。
有人能帮帮我吗?如何用SQL解决这个问题?
提前感谢
发布于 2017-12-04 01:13:39
使用CASE表达式,如下所示:
SELECT
CASE SeasonName
WHEN 'Summer' THEN 1
WHEN 'Winter' THEN 2
WHEN 'Spring' THEN 3
WHEN 'Fall' THEN 4
END AS SeasonNumber如果您只想将所有内容转换为随机数,则可以使用RANDOM()函数,具体取决于您的数据库。或者,您可以使用窗口函数将编号分配给每行:
SELECT ROW_NUMBER() OVER()这将为每一行分配一个递增的整数值。
已更新
SELECT SeasonName
FROM (
SELECT
CASE SeasonName
WHEN 'Summer' THEN 1
WHEN 'Winter' THEN 2
WHEN 'Spring' THEN 3
WHEN 'Fall' THEN 4
END AS SeasonNumber
FROM MyTable
) src您可以使用上面的查询按别名使用带别名的列表达式。
https://stackoverflow.com/questions/47620946
复制相似问题