小编Eli*_*298的帖子

仅使用 LIKE 运算符记录大于纪元时间戳的记录

到目前为止,我有以下查询,不幸的是,我无法使用正则表达式大于运算符,我只能使用LIKE关键字。

整个列都在 json 字符串中,我无法使用json_value或 regexp,因为我在 SQL Server 上,所以我只能使用LIKE. 它是 SQL Server 2014,json_value直到 2016 年才受支持。

SELECT * FROM DataTableOne 
WHERE update_date LIKE '%1645290000%'
Run Code Online (Sandbox Code Playgroud)

我想仅使用 SQL 关键字检索纪元 unix 时间戳大于 1645290000 的所有记录LIKE(甚至使用 SQLLIKE运算符在 1645290000 和 9999999999 之间)。

任何帮助将不胜感激,因为这是一个非常困难的独特案例,我只能使用关键字LIKE

下面的示例表/数据:

CREATE TABLE DataTableOne (
    ID int,
    DATA varchar(MAX)
);

INSERT INTO DataTableOne (ID, DATA)
VALUES (1, '{"name":"Cole", "update_date":"2855290000"}'),
(2, '{"name":"Peter", "update_date":"1222290000"}') ;
Run Code Online (Sandbox Code Playgroud)

此类数据可能有一千行,而我只需要 update_date 大于 1645290000 …

sql-server json sql-server-2014 like date-math

5
推荐指数
2
解决办法
1185
查看次数

标签 统计

date-math ×1

json ×1

like ×1

sql-server ×1

sql-server-2014 ×1