SQL Server中实现字符串转时间的方式(sqlserver字符串转时间)
SQL Server中实现字符串转时间的方式是一种比较常用的技术,特别是在需要从字符串中取得日期时间数据时,用到这种实现方式就特别有用。
1. 使用Convert
Convert()函数可以将字符串转换为日期时间类型,只需要两个参数:一个是字符串,另一个是将它转换成什么类型,即格式代号。可以参考如下语法:
SELECT CONVERT(DATETIME, ‘2013-09-20’, 103)
通过这个查询得到的结果是:2013-09-20 00:00:00.000
上面的例子中,格式代号是103,表示待转换的字符串格式为dd/mm/yyyy(因此,2013-09-20是表示20-09-2013的)。
2. 使用Cast
Cast()也是将字符串转换为日期时间类型。有两个参数:一个是字符串,另一个是类型,要求明确的转换类型(比如:DATETIME)。
主要的差别是,Cast()函数不需要格式代号,这是因为Cast()函数只针对格式:mm/dd/yyyy hh:mi:ss或者yyyy-mm-dd hh:mi:ss。示例代码如下:
SELECT CAST(‘2013-09-20’ AS DATETIME)
转换后的结果是:2013-09-20 00:00:00.000
3. 使用Try_Convert
对Convert()函数的一个扩展是Try_Convert()函数:如果它无法将字符串转换为指定类型,则返回Null值而不是异常值。例如:
SELECT Try_Convert(DATETIME, ‘2013-09-30’, 103)
结果是:2013-09-30 00:00:00.000
以上三个方法都可以将字符串转换为日期时间类型,但请根据实际需要来选择合适的方法。