如何通过大小写表达式指定在列名称中添加SQL Server的列

问题描述 投票:0回答:2
PriorityOID Priority    NoOfRestrictedDaysForReporting  AllowBackDatedCompletionForDays SOXReporting    SortOrder   PenaltyFactorPercent    RiskFactor
1   Trifling    NULL    0   NULL    50  105 3
2   Low NULL    0   NULL    40  105 3
3   Medium  NULL    0   NULL    30  105 3
4   High    NULL    0   NULL    20  105 3
5   Critical    NULL    0   NULL    10  110 6
6   Not Available   NULL    0   NULL    60  105 3
7   Super-critical  NULL    NULL    NULL    9   120 9

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9INFpTNy5wbmcifQ==” alt =“我的桌子的图像”>

我必须添加另一列,名称为'Numbering',大小写是:当超级时为超级,然后在临界时为1,然后在高时为2,然后在中时为3,然后在低时为4,然后在琐碎时为5,在不可用时则是6,然后是7]]

[PriorityOID优先级NoOfRestrictedDaysForReporting AllowBackDatedCompletionForDays SOXReporting SortOrder PenaltyFactorPercent RiskFactor 1 Trifling NULL 0 NULL 50105 3 2 ...

sql sql-server tsql
2个回答
0
投票

您可以使用case表达式:


0
投票
SELECT PriorityOID,Priority,NoOfRestrictedDaysForReporting,
AllowBackDatedCompletionForDays, SOXReporting,SortOrder,PenaltyFactorPercent,RiskFactor,
CASE WHEN Priority='super' THEN 1
     WHEN Priority='critical' THEN 2 
     WHEN Priority='high' THEN 3 
     WHEN Priority='medium' THEN 4
     WHEN Priority='low' THEN 5 
     WHEN Priority='trifling ' THEN 6
     when Priority='Not Available' THEN 7 
     else 8....go on..        

     END AS Numbering

Frm YourTableName
© www.soinside.com 2019 - 2024. All rights reserved.