我处于无法测试的环境中,我无法在互联网上找到信息或任何示例。
我们说我有这样的陈述:
ActiveRecord::Base.connection.select_values("select a from table_b where id = 'x'")
(我知道不建议使用其他方法来处理数据库)
如果某些行有列' a'作为NULL,我在ruby中有什么? " NULL",无或其他?
答案 0 :(得分:3)
Ruby只有一个值nil
。与其他语言相比,这是Matz绝对正确的一件事。
在大多数情况下,适配器将SQL中的NULL值映射到nil
。
如果你的列默认值不是nil(例如""或者例如0),结果将不会为零,因为在Ruby中没有任何东西等于nil(不像一些非常受欢迎但设计不佳的语言)。
irb(main):003:0> nil == ""
=> false
irb(main):004:0> nil == 0
=> false
irb(main):005:0> nil == false
=> false
irb(main):006:0> !!nil
=> false
答案 1 :(得分:0)
使用ActiveRecord,它最有可能依赖于您拥有的数据库。我确实尝试过你的查询,而Postgres数据库显示[]
空数组或[2,3]
如果返回的id为2和3.请随意共享数据库类型。