我在我的数据库中发送了要转换为唯一数字的文本。
例如,我喜欢冬季,夏季,秋季和春季等所有季节。 现在我想要冬天,例如夏天2的数字1,依此类推。
有人可以帮助我吗?如何用SQL解决它?
提前致谢
答案 0 :(得分:1)
使用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
您可以使用上面的查询通过别名来使用别名列表达式。