如何将string转换为dateT-SQL?
如何在T-SQL中将string转换为date?
我的testing用例是string: '24.04.2012' 
 CONVERT(datetime, '24.04.2012', 104) 
应该做的伎俩。 请参阅这里以获取更多信息: “CAST和CONVERT(Transact-SQL)”
Microsoft SQLdate格式
 CONVERT(DateTime, DateField, 104) 
这是一个很好的解决scheme。 基本语句包含在线尝试parsing:
 SELECT TRY_PARSE('02/04/2016 10:52:00' AS datetime USING 'en-US') AS Result; 
以下是我们在生产版本中实施的内容:
 UPDATE dbo.StagingInputReview SET ReviewedOn = ISNULL(TRY_PARSE(RTrim(LTrim(ReviewedOnText)) AS datetime USING 'en-US'), getdate()), ModifiedOn = (getdate()), ModifiedBy = (suser_sname()) -- Check for empty/null/'NULL' text WHERE not ReviewedOnText is null AND RTrim(LTrim(ReviewedOnText))<>'' AND Replace(RTrim(LTrim(ReviewedOnText)),'''','') <> 'NULL'; 
ModifiedOn和ModifiedBy列仅用于内部数据库跟踪目的。
另请参阅这些Microsoft MSDN参考:
- CAST和CONVERT(Transact-SQL)
- PARSE(Transact-SQL)
尽pipeCONVERT的工作,你实际上不应该使用它。 你应该问自己为什么要在SQL-Server中分析string值。 如果这是一次性手动修复某些数据的工作,那么您将不能再次获取这些数据,这是可以的,但是如果有任何应用程序正在使用这些数据,则应该更改某些内容。 最好的办法是使用“date”数据types。 如果这是用户input,则更糟糕。 那么你应该先在客户端做一些检查。 如果你真的想在SQL-Server期望的date传递string值,你总是可以使用ISO格式('YYYYMMDD'),它应该自动转换。
您可以使用:
 SELECT CONVERT(datetime, '24.04.2012', 103) AS Date 
参考: CAST和CONVERT(Transact-SQL)
 CONVERT(DateTime, ExpireDate, 121) AS ExpireDate 
会做什么需要,结果是:
 2012-04-24 00:00:00.000 
- SQL Server,将一个命名实例转换为默认实例?
- 如何在SQL Server 2005中的一个语句中更新两个表?
- 使用sql查询将string转换为int
- 如何使用sql server management studio将blob插入到数据库中
- parsing可用的街道地址,城市,州,从一个string拉链
- 如何根据出生date和getDate()计算年龄(以年为单位)
- 是否有任何方法来查看查询编辑器中的SQL Server Management Studio Express 2005的空白?
- SQL服务器查询以获取表中列的列表以及数据types,NOT NULL和PRIMARY KEY约束
- SQL Server 2005删除列与约束