基本上,我拥有的是一行值,其中包含各种不同的东西。目前取值范围从数字到不可用等。
我如何才能从行中获取所有的浮点值,而忽略所有其他值呢?
发布于 2019-06-26 04:56:25
欢迎来到Stack Overflow!你的问题在细节上很少;最好提供更多的上下文,这样社区才能更好地回答你的问题。但是,做一些假设...
通常情况下,表中的每一列都有一种数据类型,因此(不了解表的任何其他信息)我会说只对包含您想要的数字数据的列执行SELECT
操作;例如
SELECT numberColOne, numberColTwo FROM table_of_stuff;
但是,如果您说给定列可能有一个浮点数或一些文本(比如“不可用”),那么您的选择在很大程度上取决于所使用的MySQL (MySQL、Oracle、SQL Server、SQLite等)。我想您可以在每一列上使用CASE .. WHEN .. ELSE
构造,测试数值并为字符串生成一个标记值。..。但这就是您已经拥有的东西:数字和非数字数据的混合。
因此,如果您希望像这样转换源数据:
row 1 : 3.1415926 Not Available 2.1111 6.6667 Not Available
row 2 : 2.71828 1.2222 Not Available 3.33333 4.50
进入:
row 1 : 3.1415926 2.1111 6.6667
row 2 : 2.71828 1.2222 3.33333 4.50
那么我同意@jarlh的评论: SQL不是你想要使用的。在这种情况下,您可以使用SQL将表中的所有内容都提取到导出文件中,然后使用代码(bash
、sed
、perl
等)处理该文件。删除字符串值。正如@jarlh所说,SQL完全是关于结构化数据的,如果你想要一些非结构化的东西,你需要组合工具。
HTH。
https://stackoverflow.com/questions/56761258
复制相似问题