SELECT COL1+COL2 as CalcColumn,* FROM TABLE WITH (NOLOCK) WHERE 100
在使用基于计算值的条件的 SELECT 语句中,是否可以包含该计算值而无需计算计算值两次 - 一次在选择中,另一次在条件中?
我正在使用 SQL Server 2000。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web
技术交流群。
在使用基于计算值的条件的 SELECT 语句中,是否可以包含该计算值而无需计算计算值两次 - 一次在选择中,另一次在条件中?
我正在使用 SQL Server 2000。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以将所有内容放入子查询中并从该
SQL 语句
中进行选择,但就性能而言,我预计这会比原始查询慢。
You could put everything into a subquery and select from that
SQL Statement
but as to performance, I expect this to be slower than your original query.
如果您按编写的方式使用查询,则不应有任何显着的性能损失。我相信 SQL 会为你处理它。我的问题是,你为什么使用上个世纪的软件?
我刚刚
按照几个人的建议尝试了 SQL 2005,错误是:
消息 207,第 16 级,状态 1,第 1 行
列名“CalcColumn”无效。
There should not be any significant performance loss if you use the query as you wrote it. SQL handles it for you, I believe. My question would be, why are you using software from the previous century?
I just tried
on SQL 2005 as suggested by a couple of guys and the error is:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'CalcColumn'.
希望有帮助。
hope that helps.
我通常创建一个视图来也具有可重用的计算列。
I usually create a view to also have reusable calculation columns.