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

以上三个方法都可以将字符串转换为日期时间类型,但请根据实际需要来选择合适的方法。


数据运维技术 » SQL Server中实现字符串转时间的方式(sqlserver字符串转时间)