如何将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删除列与约束