kesav prakash Ответов: 3

Оператор SQL SERVER 'like' для datetime coloumn


Как выполнить оператор LIKE для столбца типа данных DateTime в SQL Server? У меня был такой SQL-запрос:
select CustomerID from Orders where OrderDate LIKE '1996-07- %'

это мне ничего не дает!

3 Ответов

Рейтинг:
7

Nirav Prabtani

Попробовать это,,,,,:)


SELECT * FROM TableName WHERE  CONVERT(VARCHAR, DateTimeColumn , 120) LIKE '2013-06%'



С уважением,
Нирав Прабтани.


kesav prakash

спасибо Друг я получил правильный ответ

Nirav Prabtani

Добро Пожаловать, Кесав..:)

kesav prakash

могу я узнать, что это за 120 внутри новообращенного()

Nirav Prabtani

Да kesav это преобразование даты и времени во многих форматах, таких как.....

Выберите Преобразовать (дата и время, '23.10.2016', 101) -- ММ/ДД/гггг
Выберите конвертировать (datetime, '2016.10.23', 102) -- yyyy. mm. dd ANSI дата с веком
Выберите Преобразовать (дата и время, '23/10/2016', 103) -- ДД/ММ/гггг
Выберите конвертировать (дата и время, '23.10.2016', 104) -- ДД. ММ. гггг
Выберите конвертировать (datetime, '23-10-2016', 105) -- dd-mm-yyyy
-- типы mon - это недетерминированные преобразования, зависящие от языковых настроек
Выберите конвертировать (datetime, '23 OCT 2016', 106) -- dd mon yyyy
Выберите конвертировать (datetime, 'Oct 23, 2016', 107) -- mon dd, yyyy
-- 2016-10-23 00:00:00.000
Выберите Преобразовать(Дата-Время, '20:10:44', 108) -- чч:мм:СС
-- 1900-01-01 20:10:44.000

-- пн ДД гггг чч:мм:СС:mmmAM (или ПМ) - формат SQL по времени сервера SQL формат даты-времени
Выберите конвертировать (datetime, 'Oct 23 2016 11: 02:44: 013AM', 109)
-- 2016-10-23 11:02:44.013
Выберите конвертировать (datetime, '10-23-2016', 110) -- mm-dd-yyyy
Выберите конвертировать (datetime, '2016/10/23', 111) -- гггг/ММ/ДД
-- Формат даты YYYYMMDD ISO работает на любом языке - международный стандарт
Выберите конвертировать (datetime, '20161023')
Выберите конвертировать (datetime, '20161023', 112) -- ISO yyyymmdd
-- 2016-10-23 00:00:00.000
Выберите конвертировать(дата и время, '23 октября 2016 11:02:07:577', 113) -- ДД МОН гггг чч: мм: СС:МММ
-- 2016-10-23 11:02:07.577
Выберите Преобразовать(Дата-Время, '20:10:25:300', 114) -- чч:мм: СС:МММ(24 часа)
-- 1900-01-01 20:10:25.300
Выберите Преобразовать(дата-время, '2016-10-23 20:44:11', 120) -- гггг-ММ-ДД чч:мм:СС(24ч)
-- 2016-10-23 20:44:11.000
Выберите Преобразовать(datetime, '2016-10-23 20:44:11.500', 121) -- гггг-ММ-ДД чч:мм: СС. МММ
-- 2016-10-23 20:44:11.500

-- Стиль 126 - это формат ISO 8601: международный стандарт-работает с любой языковой настройкой
Выберите конвертировать (datetime, '2008-10-23T18:52:47.513', 126) -- yyyy-mm-ddThh:mm:ss(.mmm)
-- 2008-10-23 18:52:47.513
Выберите конвертировать (datetime, N '23 شوال 1429 6:52:47: 513PM', 130) -- дата Ислама/Хиджры
Выберите конвертировать(datetime, '23/10/1429 6:52:47: 513PM', 131)

&усилителя; многое другое.....:)

С уважением,
Нирав Прабтани.

Member 11518135

Я хочу, чтобы отобразить список ename, которые присоединились в месяц второго символа "а".
Я попробовал это но это не сработало
Скажите мне точный ответ, и я сделаю это на sql server 2008r2.
-Выберите ename из emp, где datepart (месяц,hiredate), например '_a%'
Плз предложите мне правильный Анс
Спасибо
Аникет

Рейтинг:
0

_Amy

Вместо этого вы можете использовать Функция datepart[^] функция извлечения частей дат. Попробуй вот так:

SELECT * FROM TableName where DATEPART(yy, YourDateColumn) = 1996 --For Year
SELECT * FROM TableName where DATEPART(mm, YourDateColumn) = 4--For Months
SELECT * FROM TableName where DATEPART(dd, YourDateColumn) = 4--For day

--Or, For all togather

SELECT * FROM TableName where (DATEPART(yy, YourDateColumn) = 1996 AND DATEPART(mm, YourDateColumn) = 4 AND DATEPART(dd, YourDateColumn) = 4)


Оператор Like не будет работать с DateTime. Пожалуйста, смотрите этот[^].


-- Амит


Рейтинг:
0

Shraddha R Kad

select CustomerID from Orders 
where convert(nvarchar(50), OrderDate,126) LIKE '1996-07- %'


kesav prakash

могу я узнать, что это за 126 внутри новообращенного()