SQL Server: использование # в литерале даты

В W3School я нашел приведенный ниже код в Раздел SQL.

SELECT * 
FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;

Я знаю, что мы указываем одинарную кавычку для строки даты, например «07/04/1996».

Можем ли мы также использовать # для строки даты? Имеет ли значение # использование?

Для SQL Server определенно просто используйте одинарные кавычки - и желательно форматирование ISO-8601: 20160407 от 7 апреля 2016 года (формат YYYYMMDD), чтобы не зависеть от каких-либо региональных настроек. # используется, например, MS Access для свиданий, я считаю

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

Ответы 1

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

Недействительный синтаксис SQL Server:

with Orders as (
    select CURRENT_TIMESTAMP as OrderDay
)
SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;

Incorrect syntax near '#'.

Кстати, на сайте ничего не упоминается о SQL Server.

Согласно комментарию @marc_s, это может быть допустимый синтаксис MS Access SQL.

Я считаю, что SQL в MS Access использует # для обозначения дат.

marc_s 10.06.2018 09:21

Как раз сейчас я узнал, что в MSSQL возможна другая «необычная» форма: {d'2010-07-01'}

Jiri Tousek 10.06.2018 09:24

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