0
|
user327301 · 技术社区 · 15 年前 |
![]() |
1
2
您的数据库显然是某些调查的结果,并且似乎包含原始调查数据。通常的方法是通过ECCD(提取、清理、符合、交付)流程运行此过程,并将干净和标准化的数据存储到单独的数据库(可能是仓库)中,然后将该数据库用于分析和报告。 如果有SSIS,请使用数据分析任务了解其中包含的字符串类型。这个 列模式配置文件 在字符串列上报告一组正则表达式,因此您将了解这些字符串中的内容。如果没有SSIS,可以使用 eObjects数据清理器 做同样的事。 如果您不能保留一个新的数据库或至少一个新的表——至少向这个表添加一个数值列,然后从这些字符串中提取数值到新的列中。您可能需要使用“其他东西”(ssis、pentaho kettle、python、vb、c)来完成这项工作——一般来说,t-sql在字符串处理方面不太擅长。 我的猜测是,这不是唯一一个内部有垃圾的列,因此任何运行在此列上的分析都可能是无用的。 如果您仍然认为范围是唯一的问题,这个例子可能有帮助: 首先是一些数据
查询将记录分为两组,数字和非数字——假定范围。
返回:
|
![]() |
2
1
不确定简单的方法。 一个正确的方法是将数字存储在两列中,分别是酒精每工作分钟和酒精每工作最大值。 |
![]() |
3
0
正如您所说,您需要计算数值,然后可以在查询中使用这些数值。 可能最简单的方法是使用一些简单的逻辑,使用字符串函数和字符串到数值函数计算平均值或上限。 如果你想要的只是上限,只需在“-”后面加上字符就可以了。 |
![]() |
4
0
“可能是因为有些是范围”-您知道“范围”不是SQL Server数据类型吗?你有非数字数据,你试图转换成数字数据,你有一个标量值,你比较的是一个非标量值。 此数据库有一些问题。 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 6 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 6 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 6 月前 |