我试图以与选择view相似的方式选择a 的列名information_schema.columns.
我似乎找不到办法做到这一点.有没有其他人之前做过这件事或知道它是否可能?
我有一个500列和100M行的大表.基于一个小样本,我相信只有大约50个列包含任何值,而另一个450只包含NULL值.我想列出不包含数据的列.
在我当前的硬件上,查询每列需要大约24小时(select count(1) from tab where col_n is not null)
是否有一种较便宜的方法来确定列是否完全为空/ NULL?
我需要一些逻辑上等价的东西
select cast(* as numeric IF data_type='decimal') from table_name
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做,所以我想把它分成两个步骤:
select * from table_name where data_type!='decimal'
select cast(* as numeric) from table_name where data_type='decimal'
Run Code Online (Sandbox Code Playgroud)
但我意识到我也不知道该怎么做。由于 SO,我可以找到十进制的列名列表,但由于这是一个批处理过程,我不能将其分为两个步骤
我正在尝试做的可能吗?我只想得到一组列,但如果它们是十进制的,则将它们转换为双精度。
谢谢!
我有这个在SSMS中运行的SQL Server 2012查询:
SELECT name, max_length, precision, scale, is_nullable
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.testtable')
Run Code Online (Sandbox Code Playgroud)
它正在回归我想要的东西:
但是,我想在此查询中添加列的数据类型,以便它看起来像我在对象资源管理器中看到的那样.有关如何添加数据类型的任何想法?