mysql为什么要加字符串呢

mysql为什么要加字符串呢,第1张

mysql加字符串是为了防止字符集和 *** 作系统不一致而导致的保存乱码。MySQL中字符串函数有:计算字符串长度函数、字符串合并函数、字符串替换函数、字符串比较函数、查找指定字符串位置函数等。

可以使用CONCAT函数进行字符串的连接,

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语句

SELECT 

    CONCAT("前面", IF(`column` IS NULL, '', `column`), "后面") AS `column` 

FROM tablename

注意CONCAT方法中使用了IF语句进行NULL值的判定,根据需要可以自行更改。

CONCAT方法可以有任意个参数,但是任何一个参数的值为NULL则最后的结果为NULL,所以有可能要对NULL进行处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5948199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-09
下一篇 2023-03-09

发表评论

登录后才能评论

评论列表(0条)

保存