[英]SQL select max value of varchar
我有一个varchar列,其中包含“ 0 03-03-14”,“ 1 04-03-14”等数据。 我需要选择一个最大值,在这种情况下为“ 1 04-03-14”。
我的问题是我可以拥有“ 1”(最大值),但是如果我还想要日期怎么办?
现在,我有这个:
SELECT MAX(TO_NUMBER(SUBSTR(revision, 1, INSTR(revision, ' ')-1)))
FROM table
WHERE name = 'aname'
AND t_name = 'tname'
GROUP BY revision
有人有主意吗?
谢谢
我假设您想要类似max(version,date version)的内容,请尝试以下操作:
Select * from (
Select * from (
SELECT
TO_NUMBER(SUBSTR(revision, 1, INSTR(revision, ' ')-1)) as rev
, TO_DATE(SUBSTR(revision, 1, INSTR(revision, ' ')+1),'DD-MM-YY') as revDate
FROM table
WHERE name = 'aname'
AND t_name = 'tname'
) extracted
order by extracted.revDate, extracted.rev desc
) where rownum = 1
你是这个意思吗
select max(revision)
from table
where name = 'aname' and t_name = 'tname';
将修订号和日期放在一栏中似乎很奇怪。 那真的是您的数据格式吗? 如果不是,请使用实际数据格式修改您的问题。
关于您的答案,我认为最好的解决方案是将这两个部分分开:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.