今天再复读Mysql手册的时候,看到一个平时忽略的函数拼接字段。其实就是简单的用mysql函数处理下字符串。计算字段这个平时还比较常用,但是拼接字段一直忽略,这里做个标记。
字段(filed) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一般成为列,而术语字段通常在计算字段的连接上。
表结构:
'sdb_bookstore_book', 'CREATE TABLE `sdb_bookstore_book` (
`bid` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(100) DEFAULT NULL,
`bname` varchar(100) DEFAULT NULL,
`author` varchar(100) DEFAULT NULL,
`publish` varchar(100) DEFAULT NULL,
`pubtime` varchar(100) DEFAULT NULL,
`price` varchar(20) DEFAULT NULL,
`language` varchar(50) DEFAULT NULL,
`intime` date DEFAULT NULL,
`quantity` int(5) DEFAULT NULL,
`content` varchar(500) DEFAULT NULL,
`city` enum('北京','上海虹桥','上海浦原') DEFAULT '上海浦原',
`tag` varchar(500) DEFAULT NULL,
`state` enum('在架','不在架') DEFAULT '在架',
`lastlname` varchar(100) DEFAULT NULL,
`lastltime` date DEFAULT NULL,
`lastrname` varchar(100) DEFAULT NULL,
`lastrtime` date DEFAULT NULL,
`remark` varchar(100) DEFAULT NULL,
`img` varchar(200) DEFAULT NULL,
`standrbtime` date DEFAULT NULL,
`amount` int(5) DEFAULT '0',
`isbn` varchar(13) DEFAULT NULL,
PRIMARY KEY (`bid`)
) ENGINE=InnoDB AUTO_INCREMENT=956 DEFAULT CHARSET=utf8'
表里面有一定的数据
现在我想从数据库里面取出字段 书名 作者 然后 用 书名(作者) 作为一个字段排版 那么我可以从数据库里面分别取出来用语言拼接 ,但是这里可以直接用mysql的函数拼接
SELECT CONCAT(bname,'(',author,')') AS new_filed FROM sdb_bookstore_book
返回的数据 '狼道(刘永生)'
这样的。这些在mysql里面处理还是比较快的。
算数计算我这里就不罗嗦了。
本文转自kefirking 51CTO博客,原文链接:http://blog.51cto.com/phpzf/794270,如需转载请自行联系原作者