Эквивалент? Нет, а почему?

T-SQL:

1 (ANSI): convert(varchar(10),@DueDate, 102) < convert(varchar(10),getdate(), 102)

2 (США): convert(varchar(10),@DueDate, 101) < convert(varchar(10),getdate(), 101)

Обратите внимание, что при рассмотрении года они будут возвращать разные результаты.

Почему?

Какая разница? Почему оператор не учитывает год при использовании №2?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
123
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что ты пытаешься сделать? Вы тут сравниваете варчары. Посмотрите на вывод этих операторов:

print convert(varchar(10), getdate(), 101)
print convert(varchar(10), getdate(), 102)

Это печатает это:

01/14/2009
2009.01.14

Сравнение первой формы действительно будет лишь проверкой того, меньше ли месяц одной даты, чем месяц текущей даты.

Есть ли причина, по которой вам нужно преобразовать даты в varchar? Почему бы не сравнить их напрямую?

@DueDate < getdate()

Другие вопросы по теме