Tenho a seguinte query até o momento e infelizmente não consigo usar operadores regexp ou maior que , só consigo usar a LIKE
palavra chave.
A coluna inteira está em uma string json, não posso usar json_value
ou regexp porque estou no SQL Server, então estou preso ao uso do LIKE
. É o SQL Server 2014 e json_value
não tem suporte até 2016.
SELECT * FROM DataTableOne
WHERE update_date LIKE '%1645290000%'
Eu gostaria de recuperar todos os registros onde o timestamp unix do epoch é maior que 1645290000 usando apenas a LIKE
palavra-chave SQL (ou mesmo entre 1645290000 e 9999999999 usando o LIKE
operador SQL).
Qualquer ajuda será muito apreciada, pois este é um caso único muito difícil em que estou limitado a usar apenas a palavra- LIKE
chave.
Exemplo de tabela/dados abaixo:
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"}') ;
Pode haver mil linhas com esse tipo de dados e as únicas que eu quero são aquelas em que o update_date é maior que 1645290000.
A execução da consulta na tabela acima que dei deve retornar apenas a primeira linha, pois a data_de_atualização de 2855290000 é realmente maior que 1645290000 numericamente.