sql-server - 在sql server中将varchar转换为日期时间

标签 sql-server datetime converters varchar

我有一个 varchar 20130909132512,我想将其转换为日期 2013-09-09

我在尝试时不断收到错误

select convert(datetime,'20130909132512',105)

我试图避免使用

select convert(datetime,SUBSTRING('20130909132512',0,8),105)

如果可能的话。关于如何做到这一点有什么想法吗?

最佳答案

您可以使用 STUFF 将 varchar 转换为 20130909 13:25:12

Declare @a Varchar(20)
Select @a = '20130909132512'
select convert(datetime,
              STUFF(STUFF(STUFF(@a,13,0,':'),11,0,':'),9,0,' ')
              ,105)

关于sql-server - 在sql server中将varchar转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921068/

相关文章:

sql-server - 当服务器不受您控制时,存储过程是个好主意吗?

sql - 如何使用 SQL 在单个表中更新多行?

sql-server - 未记录的 CONVERT 样式 - 日期时间 23

java - 如何修复反编译 .class 为 .java 错误

java - 如何将 JTextArea 上的文本转换为 ascii 二进制文件并在 java 上转换回来

c# - 在 Linq-To-Entities 中是否有替代 DateTime.Ticks 或 DateTime.TimeOfDay 的方法?

sql - 多个选择语句合二为一,创建新列

Python:将 MySQL 日期时间转换为日期时间格式

python - 值错误: time data '12/31/2017' does not match format '%d-%m-%Y'

html - 如何将 HTML 转换为 JSX (React.js)