Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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将列从字符串转换为日期_Sql Server_String_Date - Fatal编程技术网

Sql server SQL server将列从字符串转换为日期

Sql server SQL server将列从字符串转换为日期,sql-server,string,date,Sql Server,String,Date,我有一列存储为nvarchar50,其中包含格式为“yyyy/mm/dd”的日期,我想将其转换为日期,以便进行一些日期添加以进行进一步比较 到目前为止,我所看到的工作中没有什么是关于强制转换和转化的,并且总是会产生这样的结果: 味精242,第16级,第3状态,第1行 将varchar数据类型转换为datetime数据类型导致值超出范围 使用 表情 如果表达式是有效的日期、时间或日期时间值,则返回1; 否则,0 很可能您有无法正确转换的数据。您可以使用如下查询查看SQL server 2012及更

我有一列存储为nvarchar50,其中包含格式为“yyyy/mm/dd”的日期,我想将其转换为日期,以便进行一些日期添加以进行进一步比较

到目前为止,我所看到的工作中没有什么是关于强制转换和转化的,并且总是会产生这样的结果:

味精242,第16级,第3状态,第1行 将varchar数据类型转换为datetime数据类型导致值超出范围

使用

表情

如果表达式是有效的日期、时间或日期时间值,则返回1; 否则,0


很可能您有无法正确转换的数据。您可以使用如下查询查看SQL server 2012及更高版本中的问题数据

declare @tableName table(stocked nvarchar(50));
insert into @tableName values
('2017/12/31'),('2017/11/11'),('2017/11/13'),('2017/13/11');
SET DATEFORMAT ymd;  

select
stocked,
TRY_PARSE(stocked as datetime)
from @tableName
where TRY_PARSE(stocked as datetime) is NULL;

基本上,我在SQL server 2014中插入了一个excel表,在插入时没有将数据转换为日期,但我想在插入方式上的工作要比在以后转换它的工作轻松得多

第一个数据库设计错误:我有一个列存储为nvarchar50,包含日期,将该列更改为datemysql或sql server?使用@DIe No sql server我想说明您的尝试,提供样本数据,如果没有任何一个,更不用说两个,我们可能无法帮助您。