相关疑难解决方法(0)

使用null的字符串连接似乎使整个字符串无效 - 这是Postgres中的所需行为吗?

在Postgres:

select 'test' || null  returns null
Run Code Online (Sandbox Code Playgroud)

我原以为它会返回'测试'.

这是理想的行为吗?使用null值进行字符串连接会使整个字符串无效,这似乎很奇怪......

参考pg docs:http://www.postgresql.org/docs/9.1/static/functions-string.html

"注意:在PostgreSQL 8.3之前,由于存在从这些数据类型到文本的隐式强制,这些函数也会默默地接受几种非字符串数据类型的值.这些强制被删除了,因为它们经常引起令人惊讶的行为. ,字符串连接运算符(||)仍然接受非字符串输入,只要至少有一个输入是字符串类型,如表9-6所示.对于其他情况,如果需要,请在文本中插入显式强制复制以前的行为."

鉴于此,使用他们的concat字符串函数示例:

concat(str"any"[,str"any"[,...]])text连接所有参数.NULL参数被忽略.concat('abcde',2,NULL,22)>> abcde222

我应该习惯'||'来解决这个问题 串联还是这个应该修复的东西?

string postgresql concatenation

24
推荐指数
4
解决办法
1万
查看次数

标签 统计

concatenation ×1

postgresql ×1

string ×1