CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql>SELECT CONCAT(’My’, ‘S’, ‘QL’)
->‘MySQL’
mysql>SELECT CONCAT(’My’, NULL, ‘QL’)
->NULL
mysql>SELECT CONCAT(14.3)
->‘14.3′
CONCAT_WS(separator,str1,str2,…)
CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。 第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。
呵呵,希望能有帮助,^_^
有两种方式进行字符添加:
第一种:在PHP中遍历数据,然后对字段进行字符串 *** 作从而达到目标
第二种:直接在SQL语句中使用函数对字段的结果进行处理
例1- PHP遍历方式
//假设$rows是结果集foreach ($rows as &$row) {
$row['column'] = sprintf("前面%s后面", $row['column']) //方法1.1
$row['column2'] = "前面{$row['column2]}后面" //方法1.2
}
foreach语句中的&$row表示此时是对原始数据的引用,因此在循环中修改$row的值之后$rows中的数据会相应变化。
例2- SQL语句
SELECTCONCAT("前面", IF(`column` IS NULL, '', `column`), "后面") AS `column`
FROM tablename
注意CONCAT方法中使用了IF语句进行NULL值的判定,根据需要可以自行更改。
CONCAT方法可以有任意个参数,但是任何一个参数的值为NULL则最后的结果为NULL,所以有可能要对NULL进行处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)