Tho*_*sen 2 sql-server sql-server-2012
我不熟悉 SQL Server,并且想使用 SQL Server Management Studio 在 dockerized 旧 SQL Server 数据库中进行一些临时搜索,其中一个字段是日期时间,我想使用 BETWEEN 运算符来提取特定时期。
所以像
/****** Script for SelectTopNRows command from SSMS ******/
select card, sum(amount) as sum, count(*) as count
FROM ... where cardused between '01-03-2021' and '03-03-2021' group by card
Run Code Online (Sandbox Code Playgroud)
现在我的问题是这被解释为 MDY 日期而不是 DMY 日期(这是我们在这里使用的)。服务器 TZ'ed 到欧洲/哥本哈根。我的 Windows 10 会说丹麦语。如果我set dateformat dmy;先运行,它会按预期解释。
无论服务器设置如何,是否有文档格式在查询字符串中使用时始终正确解释?
基于早期使用 Excel 的工作,这可能类似于
'2021-03-01 15:36'
Run Code Online (Sandbox Code Playgroud)
在我当地的时区得到这个。服务器和客户端最终将在同一时区运行 - 这会是一个问题吗?
使用 ISO 8601 格式的日期时间字符串:
YYYY-MM-DDThh:mm:ss[.mmm]
YYYYMMDD[ hh:mm:ss[.mmm]]
Run Code Online (Sandbox Code Playgroud)
要使用 ISO 8601 格式,您必须指定格式中的每个元素,包括格式中显示的 T、冒号 (:) 和句点 (.)。
括号表示第二组分的分数是可选的。时间组件以 24 小时格式指定。
T 表示日期时间值的时间部分的开始。
使用 ISO 8601 格式的优势在于它是具有明确规范的国际标准。此外,此格式不受 SET DATEFORMAT 或 SET LANGUAGE 设置的影响。
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |