sql-server-2008 – SQL Server无法在日期调用方法
发布时间:2020-12-12 08:43:00 所属栏目:MsSql教程 来源:网络整理
导读:我在SQL Server 2008表中有一个名为ShiftDate的DATETIME列.我想将其转换为查询中的DATE列: SELECT ID,ScheduleID,ShiftDate,CONVERT(DATE,ShiftDate) AS ProductionDateFROM dbo.ScheduleResults 我在SSMS中编辑这个查询.如果我在标准查询窗口中运行查询,我
我在SQL Server 2008表中有一个名为ShiftDate的DATETIME列.我想将其转换为查询中的DATE列:
SELECT ID,ScheduleID,ShiftDate,CONVERT(DATE,ShiftDate) AS ProductionDate FROM dbo.ScheduleResults 我在SSMS中编辑这个查询.如果我在标准查询窗口中运行查询,我没有收到任何错误.如果我在视图编辑器窗口中运行这个,我会收到错误“无法调用日期方法”. 我尝试了CAST方法,但它得到相同的错误. SELECT ID,CAST(ShiftDate AS DATE) AS ProductionDate FROM dbo.ScheduleResults 完整的错误信息是: Executed SQL statement: SELECT ID,CAST(ShiftDate as DATE).ToString() AS ProductionDate FROM dbo.ScheduleResults Error Source: .Net SqlClient Data Provider Error Message: Cannot call methods on date. 我倾向于认为这是SSMS中的一个错误,但是我想从StackOverflow人员得到一些有关如何将datetime列转换为日期的反馈.我可以很容易地把它转换成一个字符串列,但它并不理想,因为Excel不会看到它作为一个日期. 解决方法你是正确的,这是SSMS中的一个错误.我正在使用SQL Server Management Studio 2008 R2,当我尝试使用内置的设计器创建一个视图时,我得到与您相同的错误消息:SQL Execution Error Error Source: .Net SqlClient Data Provider Error Message: Cannot call methods on date. 正如@Aaron Bertrand所说,要解决这个问题,选择“新建查询”并在“查询”窗口中创建“查看”.对于你的代码,它将是: CREATE VIEW myView AS SELECT ID,CAST(ShiftDate AS DATE) AS ProductionDate FROM dbo.ScheduleResults (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |