22,209
社区成员
发帖
与我相关
我的任务
分享
--> 测试数据:#
if object_id('tempdb.dbo.#') is not null drop table #
create table #(id int, cDatetemp varchar(11), cXz varchar(8))
insert into #
select 1, '12/22-01/19', '魔羯座' union all
select 2, '01/20-02/18', '水瓶座' union all
select 3, '02/19-03/20', '雙魚座'
declare @ datetime
set @ = '20100118'
if right(convert(varchar,@,111),5)<='01/19'
select '魔羯座'
else
select top 1 cXz from # where right(convert(varchar,@,111),5) >= left(cDatetemp,5) order by cDatetemp
--魔羯座
--> 测试数据:#
if object_id('tempdb.dbo.#') is not null drop table #
create table #(id int, cDatetemp varchar(11), cXz varchar(8))
insert into #
select 1, '12/22-01/19', '魔羯座' union all
select 2, '01/20-02/18', '水瓶座' union all
select 3, '02/19-03/20', '雙魚座'
declare @ datetime
set @ = '20100203'
select top 1 cXz from # where right(convert(varchar,@,111),5) >= left(cDatetemp,5) order by cDatetemp
--水瓶座
--> 测试数据: #tb
if object_id('tempdb.dbo.#tb') is not null drop table #tb
go
create table #tb (id int,cDatetemp varchar(11),cXz varchar(6))
insert into #tb
select 1,'12/22-01/19','魔羯座' union all
select 2,'01/20-02/18','水瓶座' union all
select 3,'02/19-03/20','雙魚座'
declare @rq datetime
set @rq='20100203'
select * from #tb where @rq between ltrim(year(@rq))+'/'+left(cDatetemp,5) and ltrim(year(@rq))+'/'+right(cDatetemp,5)
id cDatetemp cXz
----------- ----------- ------
2 01/20-02/18 水瓶座
(1 行受影响)