从 SQL 到 column/output generated/formatted 的意外值(正在添加的值)不正确
Unexpected values (values being added) to column/output generated/formatted incorrectly from SQL
CREATE TABLE `flatpack_apn` (
`FlatpackID` INT(11) NOT NULL AUTO_INCREMENT,
`Name` TINYTEXT NOT NULL,
`Colour` TEXT NULL DEFAULT NULL,
`Type` ENUM('Office','Kitchen','Bedroom','General') NOT NULL,
`UnitPrice` DECIMAL(5,2) NULL DEFAULT NULL,
PRIMARY KEY (`FlatpackID`)
)
COLLATE='hp8_english_ci'
ENGINE=InnoDB
AUTO_INCREMENT=12
;
以上是我的table
我被要求:
以以下格式列出扁平包详细信息:扁平包名称(类型)-单价
标题“Flatpack”。
为此,我使用了:
SELECT CONCAT ('FlatpackName'+ '('+Type+ ')' +'-'+UnitPrice)
FROM coursework.flatpack_apn;
然而,尽管查询运行没有错误,但我得到的唯一输出是:
76
76
16
32.2
48.2
68.2
129
26
26
26
226
这是我填充 table 的示例数据的图片。
所以看起来我的查询只返回了单价,然后添加到现有值(我不知道为什么会这样)。
如何确保我能够正确格式化和输出数据?
您正在对字符串使用 +
。 .. 添加它们没有意义。这样做时,前导数字会变成数字,因此 'FlatpackName'
会变成 0
。
您需要逗号:
SELECT CONCAT('FlatpackName', '(', Type, ')', '-', UnitPrice)
CREATE TABLE `flatpack_apn` (
`FlatpackID` INT(11) NOT NULL AUTO_INCREMENT,
`Name` TINYTEXT NOT NULL,
`Colour` TEXT NULL DEFAULT NULL,
`Type` ENUM('Office','Kitchen','Bedroom','General') NOT NULL,
`UnitPrice` DECIMAL(5,2) NULL DEFAULT NULL,
PRIMARY KEY (`FlatpackID`)
)
COLLATE='hp8_english_ci'
ENGINE=InnoDB
AUTO_INCREMENT=12
;
以上是我的table
我被要求:
以以下格式列出扁平包详细信息:扁平包名称(类型)-单价 标题“Flatpack”。
为此,我使用了:
SELECT CONCAT ('FlatpackName'+ '('+Type+ ')' +'-'+UnitPrice)
FROM coursework.flatpack_apn;
然而,尽管查询运行没有错误,但我得到的唯一输出是:
76
76
16
32.2
48.2
68.2
129
26
26
26
226
这是我填充 table 的示例数据的图片。
所以看起来我的查询只返回了单价,然后添加到现有值(我不知道为什么会这样)。
如何确保我能够正确格式化和输出数据?
您正在对字符串使用 +
。 .. 添加它们没有意义。这样做时,前导数字会变成数字,因此 'FlatpackName'
会变成 0
。
您需要逗号:
SELECT CONCAT('FlatpackName', '(', Type, ')', '-', UnitPrice)