CONCAT_WS
和 CONCAT
是 Oracle 数据库中两个用于字符串连接的函数,但它们之间有一些关键区别:
语法:
CONCAT
函数用于连接两个字符串,语法如下:CONCAT(string1, string2)
CONCAT_WS
函数(Concatenate With Separator)允许你使用指定的分隔符连接多个字符串,语法如下:CONCAT_WS(separator, string1, string2, ..., stringN)
参数个数:
CONCAT
函数只能连接两个字符串。CONCAT_WS
函数可以连接多个字符串,你可以根据需要添加更多的字符串参数。分隔符:
CONCAT
函数不支持分隔符。CONCAT_WS
函数允许你指定一个分隔符,该分隔符将出现在连接的字符串之间。这在拼接具有相同分隔符的字符串时非常有用,例如 CSV 文件。示例:
使用 CONCAT
函数连接两个字符串:
SELECT CONCAT('Hello', ' World') FROM DUAL;
结果:Hello World
使用 CONCAT_WS
函数连接三个字符串,并使用逗号作为分隔符:
SELECT CONCAT_WS(',', 'Hello', 'World', 'Oracle') FROM DUAL;
结果:Hello,World,Oracle
总之,CONCAT_WS
函数比 CONCAT
函数更灵活,因为它允许你连接多个字符串并指定分隔符。然而,如果你只需要连接两个字符串,CONCAT
函数将更简单。