我如何 select 具有 BigInt 和以特定值开头的 DateTime 字段的行?

How can I select a row having a BigInt and a DateTime field starting with a specigic value?

我正在使用 Microsoft SQL 服务器数据库,我遇到以下问题来实现这两个简单的 select 查询。

所以我有一个名为 MyTable 的 table,它有一个类型为 BigInt 的列 OtherFieldFK,其值为 70016592107

例如,我想搜索此 table 中具有 OtherFieldFK 且以值 70.

开头的所有记录

我试过这样使用like

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

但它不起作用。我认为 like 子句只适用于字符串,对吗?

在此 table 中,我还有一个名为 DataInizioGestioneDATETIME 列。

我试过做同样的事情:

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

但在这种情况下它也不起作用。

我怎样才能正确执行这两个查询?

第一个应该是正确的,如你所写:

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

第二个应转换为 nvarchar 中的日期格式(es 121,格式为 aaaa-mm-gg hh:mi:ss.mmm(24h));这样你就可以和类似的进行比较了:

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

或者直接比较年份:

select * from MyTable where year(DataInizioGestione) = 2016