我试图从 SQL Server 数据库中的日期时间值获取类似“20101231235959”(yyyyMMddhhmmss) 的内容。这是我能想到的最好的方法 - 在去掉冒号后将“yyyyMMdd”与“hh:mm:ss”连接起来:
CONVERT(varchar(25),Batch.ImagedTime,112) + REPLACE(CONVERT(varchar(25),Batch.ImagedTime,108),':','')
Run Code Online (Sandbox Code Playgroud)
背景:我正在从远程仪器中提取批量图像,并希望在拍摄它们时对它们进行组织。本地系统为Windows 7,目录名中不允许使用冒号。如果我能得到的话,我会选择一个 UNIX 时间戳,但更喜欢让这个名字有点正常人可读的......
据我从这个日期时间样式列表中可以看出,没有办法说服 SQL Server 2008 给我一个没有冒号的时间,或者让 Windows 7 让我用它们创建一个目录,所以它是 SQL 中的 string-bashing 或Java 中的字符串攻击。
我错过了一些明显的事情吗?
只需对您当前的方式稍作修改:
REPLACE
REPLACE
CONVERT(varchar(20), GETDATE(), 120)
, ':', '')
, '-', '')
Run Code Online (Sandbox Code Playgroud)
Java 中的“String bashing”会更好:SQL Server 应该发送原始数据
| 归档时间: |
|
| 查看次数: |
5324 次 |
| 最近记录: |