VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1111|回复: 7

求一sql语句?

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-22 13:30:01 | 显示全部楼层 |阅读模式
2016-12-14 08:26 |
| 2016-12-15 10:19 |
| 2016-12-20 08:50 |
| 2016-12-20 09:21 |
| 2016-12-20 10:13 |
| 2016-12-20 10:51 |
| 2016-12-21 14:15 |
| 2016-12-21 15:59 |
| 2016-12-25 09:37 |
| 2016-12-26 12:09 |
| 2016-12-27 11:44 |
| 2016-12-30 09:22 |
| 2016-12-30 09:48 |
| 2017-01-04 09:09 |
| 2017-01-04 11:00 |
| 2017-01-05 09:18


我的字段名是ntime 类型是varchar,想求两条语句
一个是把2016的都选出来(从2016-12-14 08:26到2016-12-30 09:48),另一个把2017的都选出来(从2017-01-04 09:09到2017-01-05 09:18)  小弟初学,在线等
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-5-3 14:45:01 | 显示全部楼层
select * from t where left(ntime,4)='2016'
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-5-3 16:15:01 | 显示全部楼层
select * from tablename where substring(ltrim(replace(ntime,'|','')),1,4)=2016
select * from tablename where substring(ltrim(replace(ntime,'|','')),1,4)=2017
回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-5-3 16:45:01 | 显示全部楼层
select * from tablename where ntime between '2016-12-14 08:26' and '2016-12-30 09:48'
select * from tablename where ntime between '2017-01-04 09:09' and '2017-01-05 09:18'
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-5-3 17:15:02 | 显示全部楼层
select * from tablename where substring(ltrim(replace(ntime,'|','')),1,4)='2016'
select * from tablename where substring(ltrim(replace(ntime,'|','')),1,4)='2017'
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-5-3 19:00:01 | 显示全部楼层
select * from tablename where ColumnName between '2016-12-14 08:26' And '2016-12-30 09:48' Or ColumnName Between '2017-01-04 09:09' And '2017-01-05 09:18'
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-5-4 09:30:01 | 显示全部楼层
以上的數據是一條記錄嗎?
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-5-4 19:15:01 | 显示全部楼层
create table T(ntime varchar(1000))
insert T select
'2016-12-14 08:26 |
| 2016-12-15 10:19 |
| 2016-12-20 08:50 |
| 2016-12-20 09:21 |
| 2016-12-20 10:13 |
| 2016-12-20 10:51 |
| 2016-12-21 14:15 |
| 2016-12-21 15:59 |
| 2016-12-25 09:37 |
| 2016-12-26 12:09 |
| 2016-12-27 11:44 |
| 2016-12-30 09:22 |
| 2016-12-30 09:48 |
| 2017-01-04 09:09 |
| 2017-01-04 11:00 |
| 2017-01-05 09:18 '



declare @sql varchar(8000)
select @sql='select * from (select ntime='''
select @sql=@sql+replace(replace(replace(ntime, char(13), ''), char(10), ''), ' || ', ''' union all select ''') from T
select @sql=@sql+''') a where year(ntime)=2016'
exec(@sql)

--result
ntime            
-----------------
2016-12-14 08:26
2016-12-15 10:19
2016-12-20 08:50
2016-12-20 09:21
2016-12-20 10:13
2016-12-20 10:51
2016-12-21 14:15
2016-12-21 15:59
2016-12-25 09:37
2016-12-26 12:09
2016-12-27 11:44
2016-12-30 09:22
2016-12-30 09:48
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表