Уведомления

Группа в Telegram: @pythonsu

#1 Март 17, 2021 19:43:18

Nagibajupython69
Зарегистрирован: 2021-03-02
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка Start_Date != null для datatime

Подскажите пожалуйста как реализовать проверку

У меня на входе данные для которых необходимо проверить условие, что значение Start_Date, которое является типом datatime не является пустым. Я использовала null, но это не дает верный результат.

То есть у меня есть столбец со значениями datatime и некоторые из значений столбца не содержат ничего.

Мне неважно, какая там дата. Может быть я бы могла конвертировать в строку или во что-то другое и сравнивать со значением empty?

Отредактировано Nagibajupython69 (Март 17, 2021 19:49:20)

Офлайн

#2 Март 17, 2021 21:50:10

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1395
Репутация: +  124  -
Профиль   Отправить e-mail  

Проверка Start_Date != null для datatime

Чтобы посмотреть какие данные на входе,в коде можно прописать

 print(входящие_данные)
Ну и потом проверять
 if входящие_данные == 0:
или
 if входящие_данные is None:
или
 if входящие_данные:
если в них True или False или число 0

Офлайн

#3 Март 18, 2021 09:43:35

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проверка Start_Date != null для datatime

А чтотакое “тип datatime”?
В пайтоне есть datetime но он не может быть пустым. Вы даже не можете сделать datetime(0, 0, 0) минимум datetime(1,1,1) поэтому в зависимости от того что вы подразумеваете под “которое является типом datatime не является пустым” на то и проверяйте. null в пайтоне не валидная конструкция, в пайтоне есть None как альтернатива null в Java, C++ и пр.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#4 Март 18, 2021 10:30:03

Nagibajupython69
Зарегистрирован: 2021-03-02
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка Start_Date != null для datatime

Я опечаталась, вы правы datetime. Но я не понимаю как сравнивать, если у меня с столбце есть даты, а где-то ничего нет, например в SQL я вижу лишь пустое поле. Не знаю как сравнить

Офлайн

#5 Март 18, 2021 13:00:45

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Проверка Start_Date != null для datatime

Так в каком виде вы эти данные получаете то? datetime не может быть пустым, тоесть там или datetime или None или еще что (например пустая строка). Выясните что у вас в ячейках которые не содержат ничего, на это и проверяйте.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#6 Март 18, 2021 21:54:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Проверка Start_Date != null для datatime

Nagibajupython69
Может быть я бы могла конвертировать в строку или во что-то другое и сравнивать со значением empty?
Нужно сконвертировать данные из того вида, в котором они приходят, в тот вид, с которым будет удобно работать. И таких конвертаций может быть несколько подряд, пока данные не будут преобразованы в удобную структуру. При выводе все конвертации повторяются в обратном порядке.

Так что при вводе данных в программу все строчные даты нужно преобразовать в тип datetime.datetime , а все пустые поля нужно преобразовать в значения None. И только после этого преобразования можно проверять эту новую структуру данных.

Нужно понимать, что часто типы не переносимы между разными информационными системами. И если где-то есть один тип, то где-то в другом месте этого типа может вообще не существовать. И это нормально. Поэтому не надо одни типы из одних систем искать в виде аналогов в других системах в качестве обязательно присутствующих там. Можно просто их не найти, потому что их нет там.

Также во многих системах можно строить свои типы.



Отредактировано py.user.next (Март 18, 2021 22:01:16)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version