如何更改查询中的日期时间格式?
How to change datetime format in query?
我的日期时间列采用 YYYYMMDDHHmmss
格式。 Grafana 的数据源是 SQL Server 2014,具有只读访问权限(TRIM()
无效)。
如何使用 Grafana 时间过滤器选项过滤查询中的结果?
我想使用 $__timeFrom()
和 $__timeTo()
,但 Grafana 使用 2022-01-21T06:29:28Z
格式或 unixepoch。
我的查询需要转换:
2022-01-21T06:29:28Z
-> 20220121062928
[编辑]
尝试 1(有效):
WHERE s.zeitpunkt
BETWEEN
CAST(REPLACE(REPLACE(REPLACE(REPLACE($__timeFrom(), '-', ''), 'T', ''), ':', ''), 'Z', '') AS VARCHAR(25))
AND CAST(REPLACE(REPLACE(REPLACE(REPLACE($__timeTo(), '-', ''), 'T', ''), ':', ''), 'Z', '') AS VARCHAR(25))
尝试 2(无效):
WHERE s.zeitpunkt
BETWEEN CONCAT(
CONVERT(varchar, $__timeFrom(), 112)
, REPLACE(CONVERT(varchar, $__timeFrom(),108),':','')
)
AND CONCAT(
CONVERT(varchar, $__timeTo(), 112)
, REPLACE(CONVERT(varchar, $__timeTo(),108),':','')
)
如果您在使用 sql 服务器的日期格式时遇到问题,您可以执行多种操作来更改日期格式。例如 SSMS 和 SQL 服务器日期格式由您设置的语言和区域决定
您可以使用 CAST(),CONVERT() 更改日期格式或从 ssms 设置格式。
你可以关注这个linkDate and Time Format in SQL
对于 datetime
到 datetime
具有不同的格式
set language 'British'
cast(convert(varchar, getdate(), 103) as datetime)
这会将 2022-01-24 00:38:54.840
更改为 24/01/2022
这终于奏效了:
我投射日期时间并使用 FORMAT()
和自定义格式。我试过的其他解决方案有点慢。
WHERE s.zeitpunkt
BETWEEN
CAST(
FORMAT(CAST($__timeFrom() AS DATETIME),'yyyyMMddHHmmss')
AS VARCHAR)
AND CAST(
FORMAT(CAST($__timeTo() AS DATETIME),'yyyyMMddHHmmss')
AS VARCHAR)
我的日期时间列采用 YYYYMMDDHHmmss
格式。 Grafana 的数据源是 SQL Server 2014,具有只读访问权限(TRIM()
无效)。
如何使用 Grafana 时间过滤器选项过滤查询中的结果?
我想使用 $__timeFrom()
和 $__timeTo()
,但 Grafana 使用 2022-01-21T06:29:28Z
格式或 unixepoch。
我的查询需要转换:
2022-01-21T06:29:28Z
-> 20220121062928
[编辑] 尝试 1(有效):
WHERE s.zeitpunkt
BETWEEN
CAST(REPLACE(REPLACE(REPLACE(REPLACE($__timeFrom(), '-', ''), 'T', ''), ':', ''), 'Z', '') AS VARCHAR(25))
AND CAST(REPLACE(REPLACE(REPLACE(REPLACE($__timeTo(), '-', ''), 'T', ''), ':', ''), 'Z', '') AS VARCHAR(25))
尝试 2(无效):
WHERE s.zeitpunkt
BETWEEN CONCAT(
CONVERT(varchar, $__timeFrom(), 112)
, REPLACE(CONVERT(varchar, $__timeFrom(),108),':','')
)
AND CONCAT(
CONVERT(varchar, $__timeTo(), 112)
, REPLACE(CONVERT(varchar, $__timeTo(),108),':','')
)
如果您在使用 sql 服务器的日期格式时遇到问题,您可以执行多种操作来更改日期格式。例如 SSMS 和 SQL 服务器日期格式由您设置的语言和区域决定
您可以使用 CAST(),CONVERT() 更改日期格式或从 ssms 设置格式。
你可以关注这个linkDate and Time Format in SQL
对于
datetime
到datetime
具有不同的格式set language 'British'
cast(convert(varchar, getdate(), 103) as datetime)
这会将 2022-01-24 00:38:54.840
更改为 24/01/2022
这终于奏效了:
我投射日期时间并使用 FORMAT()
和自定义格式。我试过的其他解决方案有点慢。
WHERE s.zeitpunkt
BETWEEN
CAST(
FORMAT(CAST($__timeFrom() AS DATETIME),'yyyyMMddHHmmss')
AS VARCHAR)
AND CAST(
FORMAT(CAST($__timeTo() AS DATETIME),'yyyyMMddHHmmss')
AS VARCHAR)