Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Concat和merge值_Sql - Fatal编程技术网

SQL Concat和merge值

SQL Concat和merge值,sql,Sql,如何使其正确,这有什么问题 SELECT Name, Surname, CONCAT(NAME + ' '+ SURNAME) 'name and surname' FROM Worker WHERE Born = '1988'; 或 连接的标准SQL运算符是|,因此您需要: SELECT Name, Surname, (NAME || ' ' || SURNAME) as full_name FROM Worker WHERE Born = '1988'; 许多数据库还支持CONCAT()

如何使其正确,这有什么问题

SELECT Name, Surname, CONCAT(NAME + ' '+ SURNAME) 'name and surname'
FROM Worker
WHERE Born = '1988';


连接的标准SQL运算符是
|
,因此您需要:

SELECT Name, Surname, (NAME || ' ' || SURNAME) as full_name
FROM Worker
WHERE Born = '1988';

许多数据库还支持
CONCAT()
函数,但从逻辑上讲,您至少需要两个参数。SQL Server使用
+
进行字符串连接,但这种情况并不普遍。

您的语法在以下两个查询中出错:

SELECT Name, Surname, CONCAT(NAME, ' ', SURNAME) "name and surname"
FROM Worker
WHERE Born = '1988';

如果您使用的是Microsoft SQL Server,请记住常规的
+
运算符和
concat()
函数之间实际上没有什么区别

  • concat()
    将隐式地将任何参数转换为字符串,而
    +
    将在混合使用字符串和其他类型时抛出错误
  • concat()
    将始终返回一个
    notnull
    字符串,即使所有参数都为null<代码>+将在任何列为
    null
    时返回
    null

  • 请编辑并添加一个标记,指定您正在使用的特定数据库平台以及您遇到的任何错误消息。根据标记(用于ANSI SQL),这些标记都不正确。我猜,在这两个标记之间,可以选择名称、姓氏、名称+''+姓氏作为“姓名和姓氏”,来自出生地为'1988'的工人;那很有效,谢谢
    SELECT Name, Surname, CONCAT(NAME, ' ', SURNAME) "name and surname"
    FROM Worker
    WHERE Born = '1988';
    
    SELECT Name, Surname, NAME + ' '+ SURNAME AS "name and surname"
    FROM Worker
    WHERE Born = '1988';