在语句中转换结果

Nic*_*ick 6 sql sql-server

假设我有以下简单查询

SELECT TOP 1 name FROM months
Run Code Online (Sandbox Code Playgroud)

返回name ="march".可以转换这个结果吗?而不是"游行"我想要name ="3".SQL能做这样的事吗?我正在使用MSSQL数据库.

[更新]更正了查询.在编写这个简单的例子时,我将它与MySQL混合[/ update]

Tom*_*lak 3

如果您想将一组固定的输入值映射到一组固定的输出值,CASE WHEN那么您的朋友是:

SELECT
  CASE name
    WHEN 'january'  THEN 1
    WHEN 'february' THEN 2
    WHEN 'march'    THEN 3
    /* ... */
  END as num
FROM
  months
Run Code Online (Sandbox Code Playgroud)