create table #tmp
(
telno varchar(20) null,
smscontent varchar(255) null,
senttime datetime null,
status smallint null
)
这个是建立表的语句select telno,smscontent,substring(convert(varchar,senttime,112),1,4)+'-'+substring(convert(varchar,senttime,112),5,2)+'-'+substring(convert(varchar,senttime,112),7,2)+' '+convert(varchar,senttime,108) senttime,status from #tmp
这个是查询语句substring(convert(varchar,senttime,112),1,4)+'-'+substring(convert(varchar,senttime,112),5,2)+'-'+substring(convert(varchar,senttime,112),7,2)+' '+convert(varchar,senttime,108) senttime问题是, 这么长长的一句我没看懂, 谁能解释下, 谢谢. 本人不弄数据库的,问的浮浅了.
(
telno varchar(20) null,
smscontent varchar(255) null,
senttime datetime null,
status smallint null
)
这个是建立表的语句select telno,smscontent,substring(convert(varchar,senttime,112),1,4)+'-'+substring(convert(varchar,senttime,112),5,2)+'-'+substring(convert(varchar,senttime,112),7,2)+' '+convert(varchar,senttime,108) senttime,status from #tmp
这个是查询语句substring(convert(varchar,senttime,112),1,4)+'-'+substring(convert(varchar,senttime,112),5,2)+'-'+substring(convert(varchar,senttime,112),7,2)+' '+convert(varchar,senttime,108) senttime问题是, 这么长长的一句我没看懂, 谁能解释下, 谢谢. 本人不弄数据库的,问的浮浅了.
这样就好了
先把senttime 转成字符类型(注 112 是一时间转出后的一表形势 例,20100824),然后就开始截取字符串,从第一位开始截取,截4位。也就是把年份截取出来啊!
具体估计后面算法或者调用会用到才这样转变的,具体用意要看下文才清楚。
把日期格式转成 YYYY-MM-DD的字符串格式 贴个结果看看
DECLARE @date DATETIME
SET @date='2010-8-1 17:00'
SELECT
substring(convert(varchar,@date,112),1,4)+'-'+
substring(convert(varchar,@date,112),5,2)+'-'+
substring(convert(varchar,@date,112),7,2)+' '+
convert(varchar,@date,108) senttime
--result
--2010-08-01 17:00:00
结贴给分