SQL 之 concat_ws和concat的区别

news2024/11/15 23:54:41

concat_ws和concat都是用于连接字符串的函数,但它们在使用上有一些区别:

一、concat、concat_ws函数格式:

concat格式: concat(参数1,参数2,…参数n),如果要加’分隔符’直接写在 各参数中间就行
concat_ws格式: concat_ws(分隔符,参数1,参数2,…参数n)

二、两者区别

  1. 能否拼接INT类型
    concat(1, ‘,’, 2) -> 可以
    concat_ws(1, ‘,’, 2) -> 不可以
    得知,concat是可以执行成功的。由此得出 concat可以直接将 INT类型拼接成STRING,STRING拼接成STRING 更不再话下了;而concat_ws不可以直接拼接INT类型,它要求拼接的类型 必须都得是STRING类型,才能在hive执行。

样例(有需要可以自己写几个测试):

concat(1, ',', 2) -> 1,2 (STRING类型)
concat_ws(1, ',', 2) -> 报错

concat_ws报错:
在这里插入图片描述

报错显示concat_ws只支持STRING 或者 array

  1. 拼接NULL
    concat(1, null, 2) -> 结果: null
    concat_ws(’,’, ‘1’, null, ‘2’) -> 结果:1,2
    得知,concat拼接时,只要参数中有null(有一个null即可),不管有多少不为空的参数,结果都为null;concat_ws遇到参数有null时,则会忽略,不会返回null。

样例(有需要可以自己写几个测试):

concat(1, null, 2) -> null
concat_ws(',', '1', null, '2') -> 1,2
  1. 分隔符的概念:concat_ws函数允许用户指定一个分隔符(separator),该分隔符将用于在连接字符串时插入到各个字符串之间。这意味着concat_ws函数可以生成带有分隔符的连接结果,而concat函数则没有这个功能,它只是简单地将字符串连接在一起,不考虑任何分隔符。

  2. 处理NULL值的方式:当concat函数遇到NULL值时,无论其他参数是否为非空,整个结果都将返回NULL。而concat_ws函数在遇到NULL值时则会忽略它,不会因为单个NULL值而导致整个结果返回NULL。这意味着,即使参数中包含NULL,concat_ws也能生成一个有效的连接结果。

  3. 参数灵活性:concat_ws函数在处理参数时比concat函数更加灵活。concat函数要求所有参数都必须是非空的,否则结果将为NULL。而concat_ws函数则允许参数中包含NULL值,它会在处理时忽略这些NULL值,只连接非NULL的参数。

综上所述,选择使用concat还是concat_ws函数取决于具体的需求:如果需要连接字符串并希望它们之间有分隔符,或者希望在参数中包含NULL值时仍然得到一个有效的结果,那么应该使用concat_ws函数。如果不需要分隔符,且可以接受在参数中有NULL时整个结果变为NULL的情况,那么可以使用concat函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1906892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【知网CNKI-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

【Git基本操作】创建本地仓库 | 配置本地仓库 | 认识工作区、暂存区、版本库、对象库 | add和commit操作

目录 1.创建Git本地仓库 1.1创建仓库 1.2创建和初始化Git本地仓库 1.3查看隐藏目录.git 2.配置本地仓库 2.1新增配置 2.2删除重置配置 2.3查看配置选项 2.4全局范围的新增和删除配置 3.工作区、暂存区、版本库、对象库 ​4.add操作和commit操作 4.1add操作 4.2com…

AI 大模型系统实战

AI 大模型是什么? 维基百科对基础模型的定义是这样的,基础模型是一种大型机器学习模型,通常在大量数据上进行大规模训练(通过自监督学习或半监督学习),以使它可以适应各类下游任务。因此,它需要…

从入门到精通:Shopee,lazada,temu自养号测评成本、步骤、技巧详解

测评对于卖家来说是一种成本低回报快的推广方式,可以减少高额的平台广告费用,因此是一种很好的辅助手段,对商品的曝光、流量、转化和权重等方面起到了很好的辅助作用 建议还是自己精养一批账号,账号在自己手里比较安全可控&#…

重塑消费体验:探索绿色消费增值模式的新篇章

我是吴军,就职于一家在数字创新领域屡获殊荣的软件企业,担任高级产品策略师。今天,我满怀热忱,想与您一同揭开一种前沿且极具吸引力的商业模式面纱——那就是绿色消费增值模式,一个正逐步改变我们消费习惯与商业生态的…

一.1 信息就是位+上下文

hello程序的生命周期是从一个源程序(或者说源文件)开始的,即程序员通过编辑器创建并保存的文本文件,文件名是hello.c。源程序实际上就是一个由0和1组成的位(又称为比特)序列,8个位被组织成一组&…

平面法向的角度表示以及坐标系变换

1.根据法线计算法线的垂直角sint和法线在水平投影与x轴的夹角phi double phi atan2(normal(1) , normal(0)); // atan2(y,x), 计算法向在xy平面上的投影和x轴之间的夹角double sint asin(normal(2)); //理论上是z轴和 该法向向量之间的夹角 2.根据角度计算法线 Eigen::Vec…

AnaPico为众多工厂产线老化测试提供高效经济的微波解决方案

在电子设备的生产中,老化测试在整个使用寿命期间的可靠性和对声明参数的保证起着重要作用,尤其是在特殊应用(国防和航天工业、电信、医药等)方面。即使经过成功的参数和功能测试,在实际操作条件下使用时也有可能出现设…

集芯微电推出固定输出2V|2.5V|3V|3.3V|4V|4.5V|5V_输入最大16V_10 ppm/°C低噪声低漂移高精度基准电压源

1特征 •低温漂移:3 ppm/C(典型) •高精度:最大0.1% •低噪声:7.5μVPP/V •低IQ:2 mA(典型) •工作温度范围:-40C至125C •高输出电流:10 mA •微型包…

《基于 Kafka + Flink + ES 实现危急值处理措施推荐和范围校准》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 近期刚转战 CSDN,会严格把控文章质量,绝不滥竽充数,欢迎多多交流。&am…

数字签密:信息安全的新防线

随着互联网的普及和数字技术的飞速发展,信息安全问题日益凸显。在这个背景下,数字签密技术应运而生,为保护信息安全提供了新的解决方案。本文将介绍数字签密的概念、原理及应用,探讨其在信息安全领域的重要性。 数字签密的概念 …

抖音微短剧小程序入驻指南

一、抖音微短剧小程序类目和准入要求是什么? 可以明确的告诉你抖音微短剧小程序入驻是需要报白的,属于定邀类目,官方准入要求如下: 类目要求:文娱-微短剧 定向准入,填写“【微短剧】类目定向邀约申请表”…

【深度学习练习】心脏病预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、什么是RNN RNN与传统神经网络最大的区别在于,每次都会将前一次的输出结果,带到下一隐藏层中一起训练。如下图所示: …

vue2 项目中 echarts 实现排班 效果

效果 代码 <template><div class"index"><div ref"scheduleChart" style"width: 100%; height: 600px"></div></div> </template><script> import * as echarts from "echarts";export de…

记一次微信小程序逆向

扫码领取网安教程 遇到瓶颈了&#xff0c;不知道该干什么&#xff0c;突然想到学校的小程序 闲来无事就看一看 抓包下来的数据是这样的&#xff0c;嗯&#xff0c;下机&#xff08;hhh 一、反编译程序 加密嘛&#xff0c;之前抓了看到是加密就放弃了&#xff0c;现在重新弄一…

下一代 RAG 技术来了!微软正式开源 GraphRAG

省流总结 优点&#xff1a;检索准确度高 缺点&#xff1a;单个19w字构建用时4分30s、gpt4 token花费12美元 概述 7 月 2 日&#xff0c;微软开源了 GraphRAG&#xff0c;一种基于图的检索增强生成 (RAG) 方法&#xff0c;可以对私有或以前未见过的数据集进行问答。在 GitHub…

新时代【机器学习】与【Pycharm】:【随机数据生成】与智能【股票市场分析】

目录 第一步&#xff1a;准备工作 1.1 安装必要的库 小李的理解&#xff1a; 1.2 导入库 小李的理解&#xff1a; 第二步&#xff1a;生成和准备数据 2.1 生成随机股票数据 小李的理解&#xff1a; 2.2 数据探索与可视化 小李的理解&#xff1a; 2.3 数据处理 小李…

Docker使用基础—环境搭建

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;秒針を噛む—ずっと真夜中でいいのに。 0:34━━━━━━️&#x1f49f;──────── 4:20 &#x1f504; ◀️ ⏸ …

力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)

力扣爆刷第161天之TOP100五连刷71-75&#xff08;搜索二叉树、二维矩阵、路径总和&#xff09; 文章目录 力扣爆刷第161天之TOP100五连刷71-75&#xff08;搜索二叉树、二维矩阵、路径总和&#xff09;一、98. 验证二叉搜索树二、394. 字符串解码三、34. 在排序数组中查找元素的…

姜镇主任科普:号称“大脑杀手”的脑胶质瘤是一种什么样的肿瘤?

面对诸如头痛、频繁呕吐、记忆力显著减退等“轻微症状”&#xff0c;许多人往往掉以轻心&#xff0c;将其归咎于日常压力或不良作息习惯所致&#xff0c;殊不知这样的忽视可能正是身体发出的警示信号&#xff0c;隐藏着脑胶质瘤这一严重疾病的潜在风险。这些看似不起眼的症状&a…