如何使用CONCAT?[复制]

How to use CONCAT? [duplicate]

提问人:Jess 提问时间:10/26/2023 更新时间:10/26/2023 访问量:186

问:

我是 SQL 的初学者,我正在努力理解如何使用 CONCAT 函数。有人可以提供一些指导或资源来帮助我正确学习如何在 SQL 中有效地使用此功能吗?

我正在为我的数据库的谷歌类做一个项目。我一直在尝试学习如何在 SQL 中使用 CONCAT 函数,但我很难理解它是如何工作的以及如何将其应用于我的数据集。我尝试在线阅读一些教程,但我仍然不清楚如何在实践中有效地使用它。

SQL MySQL 数据库 语法-错误 组-concat

评论

0赞 Nick 10/26/2023
副本提供了大量建议以及文档链接
0赞 P.Salmon 10/26/2023
如果您有特定问题,则应将其发布。
0赞 Thorsten Kettner 10/26/2023
很难理解有什么要理解的。你有字符串。你把它们粘在一起。不经常使用,但例如用于名称。在标准SQL中,我们将使用字符串连接运算符,但MySQL不支持它(而是使用双管道作为逻辑OR运算符),因此他们为此提供了函数。concat(first_name, ' ', last_name)||CONCAT
0赞 Jonas Metzler 10/26/2023
@ThorstenKettner SQL Server 也不使用,并且该函数存在于我所知道的所有 RDBMS 中。所以问题是什么更“标准”;)我不明白的是为什么 Oracle 不允许在 中使用两个以上的参数。这是奇怪的“Oracle”之一,就像我们在新的Oracle版本中不再需要的“双重”一样。||CONCATCONCAT
0赞 Thorsten Kettner 10/26/2023
好吧,字符串连接运算符至少自 SQL-92 以来一直存在。为什么MySQL在1992年之后首次构建时没有实现它,这超出了我的范围。SQL Server 始于 80 年代后期,即使在早期,它们似乎也不够灵活,无法切换到标准运算符。Oracle 迫使我们从单行表中进行选择,因为标准 SQL 要求从某个表中进行选择,而且,用词不当是有历史根源的:-)||dual

答:

1赞 Mia 10/26/2023 #1
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)