我如何 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 中,我还有一个名为 DataInizioGestione
的 DATETIME
列。
我试过做同样的事情:
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
我正在使用 Microsoft SQL 服务器数据库,我遇到以下问题来实现这两个简单的 select 查询。
所以我有一个名为 MyTable
的 table,它有一个类型为 BigInt
的列 OtherFieldFK
,其值为 70016592107
。
例如,我想搜索此 table 中具有 OtherFieldFK
且以值 70
.
我试过这样使用like
:
select *
from MyTable
where OtherFieldFK like = '70%'
但它不起作用。我认为 like 子句只适用于字符串,对吗?
在此 table 中,我还有一个名为 DataInizioGestione
的 DATETIME
列。
我试过做同样的事情:
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