如何得到以下格式的日期时间字符串

yaotomo 2013-06-25 11:58:09
select convert(char(25),getdate(),21)
结果是 2013-06-25 09:02:29.950

select convert(char(6),getdate(),12)
结果是 130625

我想到得到的是以下结果,以2013-06-25 09:02:29.950这个时间为例
我想得到20130625090229950 这样的字符串,应该如何写语句啊?

另外SQLSERVER中能否用查询语句获取一个指定位数的随机数?比如3位随机数,格式为002,034,234等,0-999之间的数值,不满3位前面要用0补全。
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzw_0736 2013-06-25
  • 打赏
  • 举报
回复
--随机数 select right(RAND(),3)
lzw_0736 2013-06-25
  • 打赏
  • 举报
回复
--随机数 declare @i varchar(3) set @i=cast(floor(rand()*1000) as varchar) select replicate('0',3-len(@i))+@i
yaotomo 2013-06-25
  • 打赏
  • 举报
回复
谢谢3#朋友。拼接字符串也可以的。 虽然能够实现随机数,但当随机数是1位或2位时,前面没有补0。
yaotomo 2013-06-25
  • 打赏
  • 举报
回复
to1# 必须使用replace函数才能实现吗? to2# 谢谢指点。请问能实现流水号吗?业务主键设为自增长,虽然不会重复,但位数不同。想统一设为10位的主键,后面插入的记录主键自增长为流水号,怎么实现呢?是不是在触发器里写?对不起问题有点多。
Leon_He2014 2013-06-25
  • 打赏
  • 举报
回复

Select convert(varchar(25),getdate(),112)+ Replace(CONVERT(varchar(25), GETDATE(), 114),':','')

--随机数
select floor(rand()*1000) 
  • 打赏
  • 举报
回复
select right('0000'+RAND(),4)
lzw_0736 2013-06-25
  • 打赏
  • 举报
回复
select replace(replace(replace(replace(convert(char(25),getdate(),21),'-',''),':',''),' ',''),'.','')

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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