2016-06-28 7 views
0

Я работаю над базой данных Microsoft SQL Server, и у меня есть следующая проблема для реализации этих двух простых запросов select.Как я могу выбрать строку, имеющую поле BigInt и DateTime, начинающееся со значения типа?

Так у меня есть таблица с именем MyTable, который имеет столбец OtherFieldFK типа BigInt со значением 70016592107.

Так, например, я хочу найти всю запись в этой таблице, которая имеет OtherFieldFK, начиная со значения 70.

Я пытался использовать like таким образом:

select * 
from MyTable 
where OtherFieldFK like = '70%' 

, но он не работает. Я думаю, что подобное предложение работает только с строкой, правильно?

В этой таблице у меня также есть столбец DATETIME с именем DataInizioGestione.

Я попытался сделать то же самое:

select * 
from DataInizioGestione 
where OtherFieldFK like = '2016%' 

, но в данном случае это не работает либо.

Как я могу правильно реализовать эти 2 запроса?

+3

Как об изменении вашего запроса ** выбрать * из MyTable где OtherFieldFK как '70 % '** – Maruli

ответ

1

первым должен быть правильным, так как Вы писали:

select * from MyTable where OtherFieldFK like = '70%' 

для второго должны быть преобразованы в формат даты в NVARCHAR (ы 121 с этим форматом аааа-мм-гг чч: ми: сс .mmm (24h)); таким образом, вы можете сделать сравнение с как:

select * from MyTable where convert(nvarchar,DataInizioGestione,121) like = '2016%' 

или вы можете непосредственно сравнить год:

select * from MyTable where year(DataInizioGestione) = 2016