Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 2008:从字符串转换日期和/或时间时转换失败_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql Server 2008:从字符串转换日期和/或时间时转换失败

Sql Server 2008:从字符串转换日期和/或时间时转换失败,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我需要得到03-01作为结果@startmonth,但我一直得到 从字符转换日期和/或时间时转换失败 绳子 如果要将结果存储为03-01,则变量不能为日期类型。将@startmonth数据类型更改为varchar 此外,您的查询中几乎没有不需要的代码。试试这个 DECLARE @startmonth VARCHAR(6),@newdate DATE SELECT @newdate = Dateadd(DAY, 1,'2012-02-29') SELECT @startmonth = L

我需要得到03-01作为结果@startmonth,但我一直得到

从字符转换日期和/或时间时转换失败 绳子


如果要将结果存储为03-01,则变量不能为日期类型。将@startmonth数据类型更改为varchar

此外,您的查询中几乎没有不需要的代码。试试这个

DECLARE @startmonth VARCHAR(6),@newdate    DATE

SELECT @newdate = Dateadd(DAY, 1,'2012-02-29')

SELECT @startmonth = LEFT(CONVERT(VARCHAR(15), @newdate, 110), 5)

Print @startmonth 
DECLARE @startmonth VARCHAR(6),@newdate    DATE

SELECT @newdate = Dateadd(DAY, 1,'2012-02-29')

SELECT @startmonth = LEFT(CONVERT(VARCHAR(15), @newdate, 110), 5)

Print @startmonth