提问人:MaybeWeAreAllRobots 提问时间:8/11/2023 最后编辑:marc_sMaybeWeAreAllRobots 更新时间:8/11/2023 访问量:36
为什么 SQL Server 数据的 Excel 报表中显示“N”?
Why does "N" shows up in Excel report from SQL Server data?
问:
我正在修改一个报告,该报告使用 SQL Server 将数据从软件包软件 (Yardi Voyager) 导出到 MS Excel 模板中。数据大多很好。
但是,在一些日期字段上,字母“N”将附加到导入的数据中,并显示在Excel的单元格中。
(这不是 - 只是#N/A
"N"
)
例如,在 interactive SQL 中返回,这是正确的,但 Excel 单元格中显示的值为:FORMAT(tbl.dtStart, 'dd/MM/yyyy')
31/01/2022
31/01/2022N
同样FORMAT(tbl.dtStart, 'dd/MM/yyyy', 'en-AU')
我想要的是自 1900 年 1 月 1 日以来的通常天数。(然后我将在EXCEL中格式化它)在 Excel 的下一步中使用需要此值。
CONVERT(Varchar, tbl.dtStart, 103)
将正确显示(否),但仅显示文本 - 而不是 Excel 中下一步所需的天数31/01/2022
'N'
我希望这与 MS 如何处理国际字符并使用前缀“N”表示 NVARCHAR 有关。但是在我所做的所有研究中,我无法弄清楚如何简单地消除“N”并获得数字日期。
我想这可能也与软件包软件有关,但这会很奇怪。
我还应该注意,我也在至少一个文本字段上看到了这一点 - 附加到文本值的字母“N”。
正如我所提到的,我正在修改现有报告。使用的原始代码
FORMAT(tbl.dtStart, 'dd/MM/yyyy')
成功,没有任何.当我修改这些行时,“N”开始出现。N
非常感谢有关如何在没有“N”的情况下将日期号从SQL Server导出到Excel的答复。
答: 暂无答案
评论
What I WANT is the usual number of days since 1/1/1900 ... then I'll format it in EXCEL
.请注意,Excel 有一个怪癖(不完全是错误,因为它是“设计使然”),其中第 59 天之前的天数是错误的。Yardi Voyager