![](/img/trans.png)
[英]How to return difference in string values from the same column by doing a grouped string comparison in bigquery sql?
[英](SQL) How to manage the values in a column that were imported with the currency symbol?
我正在学习 Google 数据分析课程。 在本课程中,他们教我们使用 BigQuery 的 SQL。 但是,我不想添加支付方式,所以我没有使用 BigQuery,而是使用 MySQL Server 和 MySQL Workbench。 到目前为止,我遇到了一些问题。 但是,我能够处理它们,除了一个。
好吧,我正在处理一个.csv 文件,其中包含有关电影的信息,例如电影标题、演员表、导演、发行日期、类型、预算和收入。 在本课程中,当老师将 .csv 文件上传到 BigQuery 时,它已经识别出“预算”和“收入”列中的值是指一种货币。 但是,当我将此文件上传到 MySQL 时,它会将这些值理解为文本,因为它们在每个字段中都包含一个货币符号 ($)。 这种情况使我无法根据预算或收入的数量对字段进行排序。 我该如何解决?
我的想法:
无论如何我可以简单地更新此列中的值,删除货币符号($)? 无论如何我可以以 MySQL 理解这些值是什么的方式再次导入 .csv 文件吗?
@酒保
我真的是 SQL 的新手。 我试过: SELECT budget = REPLACE(@budget, '$', '') FROM customer_data.movie_data;
结果,MySQL 向我显示了 508 行具有 NULL 值。
@Barman 现在我尝试了以下查询:
SELECT
REPLACE(budget, '$', '') AS new_budget
FROM customer_data.movie_data
结果,MySQL 向我显示了所有没有货币符号的行。 但是,如何使用此新信息更新“预算”列?
最终答案//最终版:
UPDATE customer_data.movie_data
SET
revenue = REPLACE(revenue, '$', ''),
budget = REPLACE(budget, '$', ''),
budget = REPLACE (budget, ',', ''),
revenue = REPLACE(revenue, ',', '');
然后 > alter table > TEXT to DECIMAL (40,2) 就是这样。 我想没有一些工作要做是不可能的。 我希望它能帮助别人!
最终答案 // 最终版:
UPDATE customer_data.movie_data SET
revenue = REPLACE(revenue, '$', ''),
budget = REPLACE(budget, '$', ''),
budget = REPLACE (budget, ',', ''),
revenue = REPLACE(revenue, ',', '');
然后 > alter table > TEXT to DECIMAL (40,2) 就是这样。 我想没有一些工作要做是不可能的。 我希望它能帮助别人!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.