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
;上面是我的桌子。
我被要求:
列出扁平包装的详细信息,格式为: FlatpackName (类型)-UnitPrice,标题为“flatpack”。
为此,我使用:
SELECT CONCAT ('FlatpackName'+ '('+Type+ ')' +'-'+UnitPrice)
FROM coursework.flatpack_apn;但是,尽管查询运行时没有错误,但我得到的唯一输出是:
76
76
16
32.2
48.2
68.2
129
26
26
26
226下面是我用来填充我的表的示例数据的图片。

因此,看起来我的查询只返回了单价,然后添加到现有的值中(我不知道为什么会发生这种情况)。
如何确保能够正确格式化和输出数据?
发布于 2019-03-25 02:24:36
您正在对字符串使用+。..添加它们是没有意义的。执行此操作时,前导数字将转换为数字,因此'FlatpackName'将变为0。
您需要使用逗号:
SELECT CONCAT('FlatpackName', '(', Type, ')', '-', UnitPrice) https://stackoverflow.com/questions/55326987
复制相似问题