将文本转换为数字

时间:2017-12-03 17:08:51

标签: sql type-conversion

我在我的数据库中发送了要转换为唯一数字的文本。

例如,我喜欢冬季,夏季,秋季和春季等所有季节。 现在我想要冬天,例如夏天2的数字1,依此类推。

有人可以帮助我吗?如何用SQL解决它?

提前致谢

1 个答案:

答案 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

您可以使用上面的查询通过别名来使用别名列表达式。