sqlserver2005可以把字符串转换成日期吗?

yaoleshi 2008-04-25 04:41:21
比如:
ID CollectorID CollectData CollectTime OIDID PortID DeviceID
-------------------- -------------------- ---------------------- ------------------- -------------------- -------------------- --------------------
1 1 0 39554.649884259 1 1 6
2 1 0 39554.649884259 1 2 6
3 1 0 39554.649884259 2 1 6


CollectTime字段,我要把它转换成日期形式显示。
该怎么做???
我用了convert() 不可以转换,其他的没什么可以用的了,那么大侠知道这种转换方式。

...全文
5697 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaoleshi 2008-04-28
  • 打赏
  • 举报
回复
还是没搞定!
songhuan 2008-04-25
  • 打赏
  • 举报
回复
刚才吃饭去了,要是还不行你加我MSN吧。andy-sh@hotmail.com
yaoleshi 2008-04-25
  • 打赏
  • 举报
回复
我早就试过了 没用的
yaoleshi 2008-04-25
  • 打赏
  • 举报
回复
没成功,部署不了,你能给我写一个出来吗?非常谢谢你!我急着用.
virusswb 2008-04-25
  • 打赏
  • 举报
回复
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
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

常用:
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
songhuan 2008-04-25
  • 打赏
  • 举报
回复
不能在sql里直接写,写好之后它是一个程序集,SQL SERVER 调用它是基于程序集的调用

你先打开vs2005,建一个CLR数据库的项目,试试就知道了
yaoleshi 2008-04-25
  • 打赏
  • 举报
回复
clr函数是不是在sql里面写普通函数一样哟?
yaoleshi 2008-04-25
  • 打赏
  • 举报
回复
大哥哥 我没写过CLR函数,我那知道怎么搞类。你的意思我非常明白。只是还不知道怎么去做。
songhuan 2008-04-25
  • 打赏
  • 举报
回复
到网上先搜一下CLR函数的相关概念,在vs2005里建一个CLR函数的项目,很容易的。就和在普通的.net程序里写一个方法是一样的

然后部署到数据库上。

在语句中直接调就可以了


http://book.csdn.net/bookfiles/121/1001213912.shtml
songhuan 2008-04-25
  • 打赏
  • 举报
回复
你写一个CLR的函数,在CLR函数里是可以使用.net类库的。使用CLR函数的时候跟使用convet之类的函数是一样的,明白了吗?
yaoleshi 2008-04-25
  • 打赏
  • 举报
回复
给一个具体的例子不更实际点吗! 帮帮忙!
songhuan 2008-04-25
  • 打赏
  • 举报
回复
调用的时候跟掉convert是一样的
songhuan 2008-04-25
  • 打赏
  • 举报
回复
在sqlserver里写一个clr函数就可以啊,select的时候调用这个函数就可以了
yaoleshi 2008-04-25
  • 打赏
  • 举报
回复
问题是我不用把这些日期数据到.net里面去写,我是要在sql查询语句里面直接转换过来,那些日期是通过某一个时间段计算出来的,用C++做的,我这用不上所以搞不定,急死哒!
songhuan 2008-04-25
  • 打赏
  • 举报
回复
补充一下



DateTime start = Convert.ToDateTime("2000/1/1");

DateTime databasetime=start.AddMinutes(3333.125);


写一个clr函数就ok
songhuan 2008-04-25
  • 打赏
  • 举报
回复
sqlserver2005里T-SQL没见过这样的转法。看你的数值好像是从某个时间段开始的天数吧?

可以写一个clr函数使用.net类库来进行转换。或者直接在业务逻辑里处理。

DateTime.Addday(39554.649884259),这样就可以
conan304 2008-04-25
  • 打赏
  • 举报
回复
39554.649884259 这个是日期么?
zsxghost 2008-04-25
  • 打赏
  • 举报
回复
convert(DateTime,[字段名])

convert(datetime,'字符串')
zsxghost 2008-04-25
  • 打赏
  • 举报
回复
convert([字段名],DateTime)
lihongdian 2008-04-25
  • 打赏
  • 举报
回复
只要格式符合就可以转换.
你看看DataTime类的资料,书上有详细说明.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧