嗯,很感谢大家的热心解答,但是好像都不行~~是不是我没有说清楚啊 在tm列,一共几万行 2009-08-07 17:00:00.000 2009-08-07 20:00:00.000 2009-08-07 23:00:00.000 2009-08-08 02:00:00.000 2009-08-08 05:00:00.000 2009-08-08 08:00:00.000 2009-08-08 11:00:00.000我现在要把它转为 yy-mm-dd am hh:mi的格式 因为一直都是使用的oracle,sql server的不知道怎么操作了,我现在不是在开发程序,只是要从查询分析器里面调用而已oracle里面的查询格式应该是 select to_char(tm,'yy-mm-dd am hh:mi') from table ,我不知道sql里面有没有类似的格式转换函数。happy的那个解决方案是什么意思?我没有看懂,你说的该不是怎么改系统显示时间吧???
use test declare @time datetime set @time='2009-01-03 17:05:00.000' select convert(char(20),@time,111), case when left(convert(char(20),@time,108),5)>='12:00' then '下午' when left(convert(char(20),@time,108),5)<'12:00' then '上午' end, case when left(convert(char(20),@time,108),5)>='12:00' then left(convert(char(2),@time,108),2)-12 when left(convert(char(20),@time,108),5)<'12:00' then left(convert(char(10),@time,108),5) end 结果 2009/01/03 下午 5 高手改下。。 学习。。 不会传代码
set @time='2009-01-03 17:05:00.000'
select right(CONVERT(varchar(10) , @time, 111 ),8)+' '+'下午'+' '+left(CONVERT(varchar(12) , @time, 108 ),5)
/*--------------------------
09/01/03 下午 17:05(1 行受影响)*/
select right(convert(char(10),getdate(),111),8) + ' 上午 ' + right(left(convert(char(8),getdate(),108),5),4);--下午
select right(convert(char(10),getdate(),111),8) + ' 下午 ' + right(left(convert(char(8),dateadd(hour,-12,getdate()),108),5),4);
set @tm='2009-01-03 17:05:00.000'
select right(replace(replace(left(convert(nvarchar(20),@tm,120),16),'-','/'),' ',' 下午 '),17)/*
-----------------
09/01/03 下午 17:05(1 行受影响)
*/
在tm列,一共几万行
2009-08-07 17:00:00.000
2009-08-07 20:00:00.000
2009-08-07 23:00:00.000
2009-08-08 02:00:00.000
2009-08-08 05:00:00.000
2009-08-08 08:00:00.000
2009-08-08 11:00:00.000我现在要把它转为
yy-mm-dd am hh:mi的格式
因为一直都是使用的oracle,sql server的不知道怎么操作了,我现在不是在开发程序,只是要从查询分析器里面调用而已oracle里面的查询格式应该是 select to_char(tm,'yy-mm-dd am hh:mi') from table ,我不知道sql里面有没有类似的格式转换函数。happy的那个解决方案是什么意思?我没有看懂,你说的该不是怎么改系统显示时间吧???
use test
declare @time datetime
set @time='2009-01-03 17:05:00.000'
select convert(char(20),@time,111),
case
when left(convert(char(20),@time,108),5)>='12:00' then '下午'
when left(convert(char(20),@time,108),5)<'12:00' then '上午'
end,
case
when left(convert(char(20),@time,108),5)>='12:00' then left(convert(char(2),@time,108),2)-12
when left(convert(char(20),@time,108),5)<'12:00' then left(convert(char(10),@time,108),5)
end
结果
2009/01/03 下午 5
高手改下。。
学习。。
不会传代码
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
convert(char(20),tm,22),
convert(char(20),tm,100),
convert(char(20),tm,109) from table你看看合适不