Muh*_*mis 1 t-sql sql-server sql-server-2014
如何在SQL Server中更改varchar数据类型列的日期时间格式.
列[Value]的数据类型是varchar.我无法将数据类型更改为datetime,因为此列也包含数值.此表正在按查询进行更新.我需要格式yyyy-mm-dd hh:mm:ss(24h).怎么样?
您可以使用Try_Convert()在音乐会IsNull()
要清楚.结果仍然是一个字符串
例
Declare @YourTable table (Value varchar(50))
Insert Into @YourTable values
('268142')
,('Jan 1 1900 12:04PM')
Select *
,NewVal = IsNull(format(try_convert(datetime,Value),'yyyy-MM-dd HH:mm:ss'),Value)
From @YourTable
Run Code Online (Sandbox Code Playgroud)
返回
Value NewVal
268142 268142
Jan 1 1900 12:04PM 1900-01-01 12:04:00
Run Code Online (Sandbox Code Playgroud)
编辑
不知道Format()是表演者,应该谨慎使用.另一种方法可能是
NewVal = IsNull(try_convert(varchar(50),try_convert(datetime,Value),120),Value)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |