在sql中计算派生字段

时间:2010-04-25 16:53:19

标签: sql

本季度采用Sql并且没有运气,提出以下问题:

  1. 以英尺为单位的球员身高(英寸/ 12)。包括他们的名字。提示:计算或派生字段。请务必为计算字段指定列标题。
  2. 我们正在学习基本的Select语句,但没有找到任何有关如何在w3schools制作自定义数据的参考资料。我正在使用Microsoft SQL Server Management Express这是我迄今为止的声明:

     select nameLast, nameFirst, height
     from Master
     where height    (I assume its something like 'Player_Height' = height/12)         
     order by nameLast, nameFirst, height
    

    感谢您的帮助

2 个答案:

答案 0 :(得分:2)

如果您需要很多结果,可能需要考虑将其放入自己的计算列中并将其保存到表中。这样,它将始终是最新的,您不必一次又一次地计算和重新计算它:

ALTER TABLE dbo.YourTable
   ADD HeightInFeet AS ROUND(Height / 12.0, 3) PERSISTED

有了这个,您还可以将结果四舍五入到例如小数点后3位数(或挑选任何对你有意义的数字)。表格中的每一行现在都有一个名为HeightInFeet的新列,总是计算并且始终是最新的,您可以查询它,您可以在SELECT中返回它 - 无论您喜欢做什么! (你可以为它设置一个新值,因为它是由SQL Server本身根据你的Height列计算的)

答案 1 :(得分:0)

尝试类似

的内容
select nameLast, nameFirst, (height/12) as heightInInches
 from Master
 order by nameLast, nameFirst, height