Sql 理解查询以删除非数字字符
我发现了一篇非常有用的帖子,如何从字符串中删除非数字字符: 但问题很少,希望有人能解释一下。Sql 理解查询以删除非数字字符,sql,sql-server,tsql,Sql,Sql Server,Tsql,我发现了一篇非常有用的帖子,如何从字符串中删除非数字字符: 但问题很少,希望有人能解释一下。 1) 为什么要使用此选项: select top (100) N=row_number() over (order by @@spid) from sys.all_columns) 结果给出数字1-100,但为什么@spid和sys.all\u列?有更好的方法吗 2) 。其中N该答案使用了@@spid作为常量值,类似于order by(select)` 它仅对100行的源使用sys.all_列来生成
1) 为什么要使用此选项:
select top (100) N=row_number() over (order by @@spid) from sys.all_columns)
结果给出数字1-100,但为什么@spid和sys.all\u列?有更好的方法吗
2)
。其中N该答案使用了@@spid
作为常量值,类似于order by(select
)`
它仅对100行的源使用sys.all_列来生成行号
以下是Aaron Bertrand对生成集合或序列的备选方案进行基准测试的一些文章:
这个答案使用了@@spid
作为常量值,类似于orderby(select
)`
它仅对100行的源使用sys.all_列来生成行号
以下是Aaron Bertrand对生成集合或序列的备选方案进行基准测试的一些文章:
sys.all_columns是一个包含元数据的系统表,它被用作生成数据的虚拟表(它有许多行)。对于您的第二个问题[1]是该子查询的别名,它可能是[RandomName]-as
是隐式的,(子查询)as SomeName
[
和]
用于sql server中的名称——出于某种原因,这个家伙想将这个表命名为“1”——我认为这会使代码更难阅读。如果它不是一个数字,你不需要括号,而且tmp是对表的一个很好的描述,我会用tmp
代替[1]
。将这些问题作为对答案的注释发布会更有意义。sys.all_列是一个包含元数据的系统表,它被用作生成数据的虚拟表(它有许多行)。对于第二个问题[1]是该子查询的别名,它可能是[RandomName]-as
是隐式的,(子查询)as SomeName
[
和]
用于sql server中的名称——出于某种原因,这家伙想将该表命名为“1”--大多数情况下,我认为这只会使代码更难阅读。如果不是一个数字,你不需要括号,而且tmp是表格的一个很好的描述,我会用tmp
来代替[1]
。将这些问题作为对答案的评论,会更有意义。