sqlite 如何生成正确的SQL请求

kjthegm6  于 2023-01-21  发布在  SQLite
关注(0)|答案(2)|浏览(117)

我有一个数据库,其中ID是整数值7或8位数(2500859或15201234)长,所以我需要生成正确的SQL请求。

SELECT MAX(Id) FROM Table WHERE FORMAT(Id, '0#######') LIKE '25'

但它不工作。你能请我生成正确的请求。

SELECT MAX(Id) FROM Table WHERE FORMAT(Id, '0#######') LIKE '25'

结果为0

evrscar2

evrscar21#

我已经通过使用以下查询解决了这个问题:

SELECT MAX(CAST(RIGHT(FORMAT(Id, '0#######'),5) as INT)) 
FROM Column 
WHERE CAST(LEFT(FORMAT(Id, '0#######'),3) AS INT) = Number"

这个字符串返回我所要求的输出。

g0czyy6m

g0czyy6m2#

后数据库:

select max(id) from kkkk where length(id::varchar) =7;
select max(id) from kkkk where length(id::varchar) =8;

    ------------ method 1
select * from kkkk where length(id::varchar) =7;
select * from kkkk where length(id::varchar) =8;

---------------method 2
select 
case when length(id::varchar) =7 then id end as "ids with 7 caracters",
case when length(id::varchar) =8 then id end as "ids with 8 caracters"
from kkkk

演示

相关问题