SQL学习(二):concat函数(连接字符串)

SQL学习(二):concat函数(连接字符串)concat函数(连接字符串):使用方法:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL,则返回值为NULL。注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型cast,例如:SELECTCONCAT(CAST(int_colASCHAR),char_col)concat函数

大家好,又见面了,我是你们的朋友全栈君。

concat函数(连接字符串):

使用方法:
CONCAT(str1,str2,…)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)

concat函数可以连接一个或者多个字符串,如
mysql> select concat(‘10’);
±————-+
| concat(‘10’) |
±————-+
| 10 |
±————-+
1 row in set (0.00 sec)

mysql> select concat(‘11’,‘22’,‘33’);
±———————–+
| concat(‘11’,‘22’,‘33’) |
±———————–+
| 112233 |
±———————–+
1 row in set (0.00 sec)

concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
mysql> select concat(‘11’,‘22’,null);
±———————–+
| concat(‘11’,‘22’,null) |
±———————–+
| NULL |
±———————–+
1 row in set (0.00 sec)

concat_ws函数:

使用方法:
CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔
mysql> select concat_ws(’,’,‘11’,‘22’,‘33’);

±——————————+
| concat_ws(’,’,‘11’,‘22’,‘33’) |
±——————————+
| 11,22,33 |
±——————————+
1 row in set (0.00 sec)

concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL

mysql> select concat_ws(’,’,‘11’,‘22’,NULL);
±——————————+
| concat_ws(’,’,‘11’,‘22’,NULL) |
±——————————+
| 11,22 |
±——————————+
1 row in set (0.00 sec)

repeat()函数

用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

mysql> select repeat('ab',2);

+----------------+

| repeat(‘ab’,2) |
±—————+
| abab |
±—————+

1 row in set (0.00 sec)

又如
mysql> select repeat(‘a’,2);

+---------------+

| repeat(‘a’,2) |
±————–+
| aa |
±————–+
1 row in set (0.00 sec)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135631.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring c3p0连接池配置以及出错原因

    Spring c3p0连接池配置以及出错原因 用的jar包com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar配置:注意:如果出错原因(1)很有可能c3p0-config.xml中的配置文件出现问题,比如我是因为把“driverClass”不小心写成了“driver”,             所以在书写c3p0-config.xml要特别小心,可能多一个空格或者格式稍有问题,都…

    2022年5月22日
    41
  • 基本布局-QHBoxLayout类、QVBoxLayout类、QGridLayout类

    基本布局-QHBoxLayout类、QVBoxLayout类、QGridLayout类(1)新建QtWidgetApplication,项目名UserInfo,基类QDialog,取消创建界面;(2)打开dialog.h头文件,在头文件中声明对话框中的各个控件,添加代码#ifndefDIALOG_H#defineDIALOG_H#include//添加头文件#include#include#inclu

    2022年6月21日
    47
  • pycharm不提示错误_pycharm没有提示怎么弄

    pycharm不提示错误_pycharm没有提示怎么弄问题:之前用anaconda安装了tensorflow2.3.0后,发现pycharm里面tf的很多代码比如tf.float32,tf.Variable()tf.后面的部分都出现白色高亮,按住ctrl键显示cannotfinddeclarationtogoto,导致写tf代码很不方便。试了网上各种办法,把2.x版本tf卸载了用anaconda安装1.14.0版本,还是不行,最后发现在pycharm的pythonintercepter里面,点右边+号进入availablepacka..

    2022年8月27日
    2
  • 十天冲刺-07

    十天冲刺-07

    2021年7月5日
    73
  • 950. 郁闷的出纳员(Splay树)「建议收藏」

    950. 郁闷的出纳员(Splay树)「建议收藏」OIER 公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资扣除一个相同的量。我真不知道除了调工资他还做什么其它事情。工资的频繁调整很让员工反感,尤其是集体扣除工资的时候,一旦某位员工发现自己的工资已经低于了合同规定的工资下界,他就会立刻气愤地离开公司,并且再也不会回来了。

    2022年8月9日
    6
  • zabbix短信报警_手机短信监听

    zabbix短信报警_手机短信监听zabbix短信监控

    2025年6月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号