小编Rei*_*ain的帖子

使用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万
查看次数

firebase中的json数据格式 - 是否支持数组?和/或者,如果只支持对象,字典可以用整数编号吗?

我正在修补firebase并对数据结构感到好奇.浏览到我的数据库,firebase允许我修改数据库中的结构和数据.但似乎firebase仅支持对象(以及列表的字典).

我想知道是否支持数组.我还想知道字典项是否可以用整数命名 - firebase接口只插入字符串作为名称,这使我关心订购记录.

以下是通过firebase接口创建的json示例:

{
 "dg":{
  "users":{
   "rein":{
    "searches":{
     "0":{
      "urls":"http://reinpetersen.com,http://www.reinpetersen.com",
      "keyphrases":"rein  petersen,reinsbrain,programmer turned kitesurfer"
     }
    }
   },
   "jacqui":{
    "searches":{
     "0":{
      "urls":"http://www.diving-fiji.com,http://diving-fiji.com",
      "keyphrases":"diving marine conservation, diving fiji"
     }
    }
   }
  },
  "crawl_list":{
   "1":{
    "urls":"http://www.diving-fiji.com,http://diving-fiji.com",
    "keyphrases":"diving marine conservation, diving fiji"
   },
   "0":{
    "urls":"http://reinpetersen.com,http://www.reinpetersen.com",
    "keyphrases":"rein  petersen,reinsbrain,programmer turned kitesurfer"
   }
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

显然,对于我的列表,我希望字典项名称是整数,所以我可以确保排序是正确的.

json firebase

8
推荐指数
1
解决办法
9992
查看次数

如何或如何使用firebase有效地处理错误?

我一直在阅读firebase文档,它是非常使用的异步代码.我想知道firebase是否在回调中抛出错误和/或传递错误数据.据我所知,文档没有提到它.提前感谢您的建议

javascript asynchronous firebase

7
推荐指数
1
解决办法
3630
查看次数

Postgresql - 在插入后将“插入”行“返回”为 json

我尝试在 INSERT 语句后使用“RETURNING”关键字,以允许将插入的行数据作为 json 返回 - 我想要所有字段。这是我尝试过但没有成功的方法:

CREATE OR REPLACE FUNCTION createUser(  
  email_f character varying(50),  
  nickname_f character varying(16)
) RETURNS json AS $$  
BEGIN  
  INSERT INTO users (email,nickname)  
    SELECT email_f,nickname_f  
    RETURNING row_to_json(row(*));  
END;   
$$ LANGUAGE 'plpgsql'; 
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:错误:“*”处或附近的语法错误

我在这里可能做错了什么?我想继续使用“返回”关键字,因为它似乎是最好的方法 - 前提是我能让​​它发挥作用......

postgresql json

0
推荐指数
1
解决办法
2247
查看次数