Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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_Sql Server_Excel_Date Conversion - Fatal编程技术网

Sql server 将文本转换为日期sql

Sql server 将文本转换为日期sql,sql-server,excel,date-conversion,Sql Server,Excel,Date Conversion,我在这里看到了一些帖子,在互联网上也看到了一些,但我仍然在努力实现我的发现,以使其发挥作用 我目前正试图通过一个日期字段,并在该字段上运行参数,但我所做的一切都失败了,它仍然以文本形式出现,或者我遇到了一个错误 这是我目前的代码: SELECT CEL_SLT.ACCOUNT, CEL_SLA.NAME, CEL_SLT.STOCK_CODE, **CEL_SLT.DATE**, CEL_SLT.STOCK_QTY,

我在这里看到了一些帖子,在互联网上也看到了一些,但我仍然在努力实现我的发现,以使其发挥作用

我目前正试图通过一个日期字段,并在该字段上运行参数,但我所做的一切都失败了,它仍然以文本形式出现,或者我遇到了一个错误

这是我目前的代码:

SELECT CEL_SLT.ACCOUNT, 
       CEL_SLA.NAME, 
       CEL_SLT.STOCK_CODE, 
       **CEL_SLT.DATE**, 
       CEL_SLT.STOCK_QTY, 
       CEL_SLT.AMOUNT, 
       CEL_SLT.ORDER_NO
FROM Datafile.dbo.CEL_SLA CEL_SLA, Datafile.dbo.CEL_SLT CEL_SLT
WHERE CEL_SLA.ACCOUNT = CEL_SLT.ACCOUNT 
AND ((CEL_SLT.STOCK_CODE Like 'F%' And CEL_SLT.STOCK_CODE Not Like 'FNX%')    
AND (CEL_SLT.ACCOUNT=?)
我需要字段CEL_SLT.DATE作为日期字段


我希望这是有意义的,并且有人可以提供帮助。

假设您的数据是干净的(换句话说,文本数据实际上看起来像一个日期),您可以使用以下任一命令来完成


你尝试过什么,为什么不奏效<代码>CEL_SLT.DATE我假设是(n)个varchar吗?你能分享一些样本数据吗?问题是什么?问题是什么?Excel从SQL Server读取日期没有问题。但是,如果将日期存储为字符串,则数据库中会出现错误。您应该为每种类型的数据使用正确的类型,例如
date
datetime
datetime2
等。但是,您最好修改表的数据类型并按数据的原样存储数据,即
date
。始终为数据使用适当的数据类型
(n)varchar
不是一刀切的数据类型。我猜CEL_SLT.DATE列不是日期或日期时间数据类型?如果是这样的话,那就是你的答案。修复表并将数据存储在正确的数据类型中。否则,随着开发的深入,您只会发现越来越多的问题。我已尝试添加“CAST”和“CONVERT”,但都返回以下错误:从字符串转换日期和/或时间时,转换失败。我无法修改数据类型,因为它是直接从我们使用的名为Datafile的程序中获取的。
看起来像日期
在其他区域设置中可能会有所不同。在你的系统上看起来有效的日期在我的系统上看起来无效的日期我已经尝试了cast和convert,但运气不好,它看起来确实像是一个日期,我可以用公式DATEVALUE()指向另一个单元格查看数据这会转换它,但我希望在数据通过时对其运行参数。对您来说,它可能看起来像一个日期,但对sql server来说不是。如果要将varchar转换为date,则有不同的日期格式。找出您使用的是哪一个,并将其传递给cast/convert函数。如果可以存在不同的格式,那么忘记这一点,它将永远不会工作,这是一个不同的问题。让我们从基础开始。最初的问题是如何在excel中使该值返回日期。Cast和CONNECTION是使用的方法。现在,如果你的数据在那之后看起来很有趣,你需要深入探究原因。约会并不容易,但你必须从某个地方开始。
SELECT CAST(CEL_slt.DATE as date)