MySQL 创建计算字段 CONCAT


今天再复读Mysql手册的时候,看到一个平时忽略的函数拼接字段。其实就是简单的用mysql函数处理下字符串。计算字段这个平时还比较常用,但是拼接字段一直忽略,这里做个标记。

字段(filed) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一般成为列,而术语字段通常在计算字段的连接上。

表结构:

  1. 'sdb_bookstore_book', 'CREATE TABLE `sdb_bookstore_book` ( 
  2.   `bid` int(11) NOT NULL AUTO_INCREMENT, 
  3.   `code` varchar(100) DEFAULT NULL
  4.   `bname` varchar(100) DEFAULT NULL
  5.   `author` varchar(100) DEFAULT NULL
  6.   `publish` varchar(100) DEFAULT NULL
  7.   `pubtime` varchar(100) DEFAULT NULL
  8.   `price` varchar(20) DEFAULT NULL
  9.   `language` varchar(50) DEFAULT NULL
  10.   `intime` date DEFAULT NULL
  11.   `quantity` int(5) DEFAULT NULL
  12.   `content` varchar(500) DEFAULT NULL
  13.   `city` enum('北京','上海虹桥','上海浦原'DEFAULT '上海浦原'
  14.   `tag` varchar(500) DEFAULT NULL
  15.   `state` enum('在架','不在架'DEFAULT '在架'
  16.   `lastlname` varchar(100) DEFAULT NULL
  17.   `lastltime` date DEFAULT NULL
  18.   `lastrname` varchar(100) DEFAULT NULL
  19.   `lastrtime` date DEFAULT NULL
  20.   `remark` varchar(100) DEFAULT NULL
  21.   `img` varchar(200) DEFAULT NULL
  22.   `standrbtime` date DEFAULT NULL
  23.   `amount` int(5) DEFAULT '0'
  24.   `isbn` varchar(13) DEFAULT NULL
  25.   PRIMARY KEY (`bid`) 
  26. ) ENGINE=InnoDB AUTO_INCREMENT=956 DEFAULT CHARSET=utf8' 

表里面有一定的数据

现在我想从数据库里面取出字段 书名 作者 然后 用 书名(作者) 作为一个字段排版 那么我可以从数据库里面分别取出来用语言拼接 ,但是这里可以直接用mysql的函数拼接 

  1. SELECT CONCAT(bname,'(',author,')'AS new_filed FROM sdb_bookstore_book 

返回的数据   '狼道(刘永生)'

这样的。这些在mysql里面处理还是比较快的。

算数计算我这里就不罗嗦了。

相关内容