SQL 前后子串
SQL Substring after and before
我正在尝试查找未输入的日期,我的查询中有这个 json
{"year":"2020","dateFrom":"2011-01-01T00:00:00Z","dateTo":"2011-12-31T00:00:00Z"}
- 只有“dateFrom”的子字符串:“2011-01-01T00:00:00Z
- 只有“dateTo”的子字符串:“2011-12-31T00:00:00Z
- 验证日期输入是否正确
似乎最简单的方法可能是将数据解析为 JSON,然后使用 TRY_CONVERT
来确保它的日期有效。然后你可以手动修复坏数据:
SELECT J.Year,
dateFrom,
dateTo
FROM dbo.YourTable YT
CROSS APPLY OPENJSON(YT.YourJson)
WITH (year int,
dateFrom varchar(30),
dateTo varchar(30)) J
WHERE TRY_CONVERT(datetimeoffset(0),dateFrom,127) IS NULL
OR TRY_CONVERT(datetimeoffset(0),dateTo,127) IS NULL;
我正在尝试查找未输入的日期,我的查询中有这个 json
{"year":"2020","dateFrom":"2011-01-01T00:00:00Z","dateTo":"2011-12-31T00:00:00Z"}
- 只有“dateFrom”的子字符串:“2011-01-01T00:00:00Z
- 只有“dateTo”的子字符串:“2011-12-31T00:00:00Z
- 验证日期输入是否正确
似乎最简单的方法可能是将数据解析为 JSON,然后使用 TRY_CONVERT
来确保它的日期有效。然后你可以手动修复坏数据:
SELECT J.Year,
dateFrom,
dateTo
FROM dbo.YourTable YT
CROSS APPLY OPENJSON(YT.YourJson)
WITH (year int,
dateFrom varchar(30),
dateTo varchar(30)) J
WHERE TRY_CONVERT(datetimeoffset(0),dateFrom,127) IS NULL
OR TRY_CONVERT(datetimeoffset(0),dateTo,127) IS NULL;