Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server 2008中将字符串转换为日期时间_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Sql server 在SQL Server 2008中将字符串转换为日期时间

Sql server 在SQL Server 2008中将字符串转换为日期时间,sql-server,sql-server-2008,tsql,Sql Server,Sql Server 2008,Tsql,如何将1975年3月29日星期六00:00:00 EST格式的日期转换为TSQL格式的日期时间 我从一个旧表中获取此格式的日期,该表将出生日期列定义为NVARCHAR,并将数据存储为Mon-Jun-dd hh:mm:ss-GMT-yyyy格式。我需要使用此值读取另一个表,该表的dob位于datetime中 所以基本上我想把1975年3月29日星期六00:00:00东部标准时间转换成1975-03-29 00:00.000 在T-SQL中有没有方法进行这种转换?我尝试了CONVERT函数,但找不到

如何将1975年3月29日星期六00:00:00 EST格式的日期转换为TSQL格式的日期时间

我从一个旧表中获取此格式的日期,该表将出生日期列定义为
NVARCHAR
,并将数据存储为
Mon-Jun-dd hh:mm:ss-GMT-yyyy
格式。我需要使用此值读取另一个表,该表的dob位于
datetime

所以基本上我想把1975年3月29日星期六00:00:00东部标准时间转换成1975-03-29 00:00.000


在T-SQL中有没有方法进行这种转换?我尝试了
CONVERT
函数,但找不到要使用的正确“样式”。

检查数据格式,它似乎是一个固定长度的字符串

第一部分是星期几,可以丢弃它,因为解析不需要它。接下来是我们需要的月份和日期信息。之后是时间,可以保留或放弃该时间,具体取决于您希望输出的是日期还是日期时间

由于您正在查找出生日期,因此很可能会安全地丢弃时区信息

最后是一年

如果我们去掉星期几和时区,sql server将毫无问题地解析字符串的其余部分

我建议使用
cast(子字符串(@difficultTime,5,7)+子字符串(@difficultTime,25,4)作为日期)
,其中@difficultTime是要转换的列名

如果您想保留时间信息,以下格式将起作用
cast(子字符串(@difficultTime,5,16)+子字符串(@difficultTime,25,4)作为日期时间)

这假设字符串的长度是固定的。显示的第一个转换从字符串中删除了星期几、时间和时区,留下了一个可解析的日期


第二次转换消除了星期几和时区,留下了一个可解析的日期时间。

检查数据格式,它似乎是一个固定长度的字符串

第一部分是星期几,可以丢弃它,因为解析不需要它。接下来是我们需要的月份和日期信息。之后是时间,可以保留或放弃该时间,具体取决于您希望输出的是日期还是日期时间

由于您正在查找出生日期,因此很可能会安全地丢弃时区信息

最后是一年

如果我们去掉星期几和时区,sql server将毫无问题地解析字符串的其余部分

我建议使用
cast(子字符串(@difficultTime,5,7)+子字符串(@difficultTime,25,4)作为日期)
,其中@difficultTime是要转换的列名

如果您想保留时间信息,以下格式将起作用
cast(子字符串(@difficultTime,5,16)+子字符串(@difficultTime,25,4)作为日期时间)

这假设字符串的长度是固定的。显示的第一个转换从字符串中删除了星期几、时间和时区,留下了一个可解析的日期


第二次转换消除了星期几和时区,留下了一个可解析的日期时间。

检查数据格式,它似乎是一个固定长度的字符串

第一部分是星期几,可以丢弃它,因为解析不需要它。接下来是我们需要的月份和日期信息。之后是时间,可以保留或放弃该时间,具体取决于您希望输出的是日期还是日期时间

由于您正在查找出生日期,因此很可能会安全地丢弃时区信息

最后是一年

如果我们去掉星期几和时区,sql server将毫无问题地解析字符串的其余部分

我建议使用
cast(子字符串(@difficultTime,5,7)+子字符串(@difficultTime,25,4)作为日期)
,其中@difficultTime是要转换的列名

如果您想保留时间信息,以下格式将起作用
cast(子字符串(@difficultTime,5,16)+子字符串(@difficultTime,25,4)作为日期时间)

这假设字符串的长度是固定的。显示的第一个转换从字符串中删除了星期几、时间和时区,留下了一个可解析的日期


第二次转换消除了星期几和时区,留下了一个可解析的日期时间。

检查数据格式,它似乎是一个固定长度的字符串

第一部分是星期几,可以丢弃它,因为解析不需要它。接下来是我们需要的月份和日期信息。之后是时间,可以保留或放弃该时间,具体取决于您希望输出的是日期还是日期时间

由于您正在查找出生日期,因此很可能会安全地丢弃时区信息

最后是一年

如果我们去掉星期几和时区,sql server将毫无问题地解析字符串的其余部分

我建议使用
cast(子字符串(@difficultTime,5,7)+子字符串(@difficultTime,25,4)作为日期)
,其中@difficultTime是要转换的列名

如果您想保留时间信息,以下格式将起作用
cast(子字符串(@difficultTime,5,16)+子字符串(@difficultTime,25,4)作为日期时间)

这假设字符串的长度是固定的。显示的第一个转换从字符串中删除了星期几、时间和时区,留下了一个可解析的日期


第二次转换消除了星期几和时区,留下了一个可解析的datetime。

一旦您知道如何转换它,我强烈建议您将数据类型更改为datetime。将您的数据存储在适当的数据类型中会使事情变得更容易处理