天天看點

MYsql 建立計算字段 CONCAT

今天再複讀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,如需轉載請自行聯系原作者