Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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 在连接选择中转换日期时间_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 在连接选择中转换日期时间

Sql 在连接选择中转换日期时间,sql,sql-server,tsql,Sql,Sql Server,Tsql,我想转换此选择中的Date列,但它返回一个错误 SELECT isnull(CAST([Barcode] AS VARCHAR), '') + ';' + isnull(CAST([DocumentTypeID] AS VARCHAR), '') + ';' + isnull(CAST([FlowStatusId] AS VARCHAR), '') + ';' + isnull(CAST([DocumentStatusId] AS VARCHAR), '')

我想转换此选择中的
Date
列,但它返回一个错误

SELECT 
   isnull(CAST([Barcode] AS VARCHAR), '') + ';' + 
   isnull(CAST([DocumentTypeID] AS VARCHAR), '') + ';' +  
   isnull(CAST([FlowStatusId] AS VARCHAR), '') + ';' + 
   isnull(CAST([DocumentStatusId] AS VARCHAR), '')  + ';' + 
   isnull(CAST([DATE] AS VARCHAR), '') AS 'DATE' 
FROM 
   dbo.PSDOC 
WHERE  
   DATEPART(m, Data) = DATEPART(m, DATEADD(m, -1, getdate()))
错误是:

列名“DATE”无效。严重性16


正如错误所说。您没有名为“日期”的列

您的列名似乎是数据而不是日期。据我所知,在where条款中:

更改:

isnull(CAST([DATE] AS VARCHAR), '') AS 'DATE' FROM dbo.PSDOC 

或者更好地使用转换

isnull(CONVERT(varchar(20), [DATA], <format>), '') AS 'DATE' FROM dbo.PSDOC 
改为

WHERE data >=dateadd(m, datediff(m, 0, current_timestamp)-1, 0) 
  and data < dateadd(m, datediff(m, 0, current_timestamp), 0)
其中data>=dateadd(m,datediff(m,0,当前时间戳)-1,0)
数据
你在
PSDOC
中有一列
DATE
吗?是的,我忘了把-->作为“DATE”,但它不起作用这部分
CAST([DATE]作为VARCHAR)
正在表中使用一列
DATE
。其中data>=dateadd(m,datediff(m,0,current\u timestamp)-1,0)我想斯博斯会在这个月的最后一天回来吗??-->数据WHERE DATEPART(m, Data) = DATEPART(m, DATEADD(m, -1, getdate()))
WHERE data >=dateadd(m, datediff(m, 0, current_timestamp)-1, 0) 
  and data < dateadd(m, datediff(m, 0, current_timestamp), 0)