mysql如何把数字+,+不统一单位的字符串类型转换成数据?
如图所示,第一列销售金额为:数字+,+元或万元组成,想要转换成第二列所示的纯数据类型,要怎么写sql代码呀?
SELECT IF(LOCATE('万',销售金额)>0, REPLACE(REPLACE(销售金额, ',',''), '万元','') * 10000, REPLACE(REPLACE(销售金额, ',',''), '元','')) * 1 AS 'int类型';
SELECT 从数据库中提取数据
UPDATE 更新数据库中的数据
DELETE 从数据库中删除数据
INSERT INTO 将新数据插入数据库
CREATE DATABASE 创建一个新的数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建一个新表
ALTER TABLE 修改表
DROP TABLE 删除表
CREATE INDEX 创建索引(搜索键)
DROP INDEX 删除索引
根据问题描述,你需要将包含数字和不统一单位的字符串转换为整数类型。而且列的数据格式是"数字+,+不统一单位",你想将这些数据转换为纯整数类型。
下面是解决问题的步骤和代码示例:
CREATE TABLE converted_data (
original_string VARCHAR(255),
converted_value INT
);
INSERT INTO converted_data (original_string)
SELECT your_column_name
FROM your_table_name;
UPDATE converted_data
SET converted_value = CAST(SUBSTRING_INDEX(original_string, ',', 1) AS SIGNED);
UPDATE converted_data
SET original_string = TRIM(SUBSTRING(original_string, LOCATE(',', original_string) + 1));
UPDATE converted_data
SET converted_value =
CASE
WHEN original_string LIKE '%kg' THEN converted_value * 1000
WHEN original_string LIKE '%g' THEN converted_value
WHEN original_string LIKE '%mg' THEN converted_value / 1000
-- 添加其他单位的转换规则
END;
UPDATE converted_data
SET original_string = TRIM(TRAILING 'kg' FROM original_string);
SELECT original_string, converted_value
FROM converted_data;
这些步骤将根据你给出的数据格式将原始字符串转换为整数类型,并将转换后的值和原始字符存储在新的表中。你可以根据实际情况调整单位的转换规则和字符串的处理方式。
希望这些步骤和示例能帮助你解决问题。如果你有任何其他问题,请随时提问。