ответ

3

Предполагая, что ваш my_timestamp столбец является реальным timestamp (т.е. в ActiveRecord просторечии t.datetime), то просто NOT NULL тест достаточно:

where('my_timstamp is not null') 

Если это так, то ваш запрос должен давать вам ошибку подобный:

invalid input syntax for type timestamp: "" 

, указывающий на ваш my_timestamp != '' тест. Ваше сравнение с пустой строкой отлично работало в SQLite, потому что SQLite не имеет реального типа timestamp, он просто использует отформатированные строки ISO 8601 в текстовых столбцах; эта проблема с типом данных также объясняется тем, почему вы столкнулись с '' в столбцах timestamp в SQLite.

Смежные вопросы