sql中两个string类型的时分秒如何比较
前端传入两个入参String
数据库
我的sql
只有时间没有日期是没法比的
比如0点和1点谁大谁小呢,1号的1点肯定比2号的0点小才对,丢失了日期再比就不好比了
如果你能确定日期都一样,时间也都是按hh:mm:ss这样的标准格式,那么可以字符串直接比大小,字符串值大的时间肯定也大
按你呈现的数据库来看。就用正常的大小比较即可。比较大小时,完全相同的时间字符串格式是可以正常比较大小的
SELECT * FROM table
where complete_time>='10:37:11' and complete_time<='10:37:26';
这个例子还不涉及循环,且只考虑2或3个单词作为名字的这两种情况:
SELECT case
WHEN cnt = 2 THEN
concat(concat_ws('.', substr(substring_index(name, ' ', 1),1,1), substr(name, length(substring_index(name,' ',1))+2,1), substr(substring_index(name, ' ', -1),1,1)),'.')
ELSE
concat(concat_ws('.', substr(substring_index(name, ' ', 1),1,1), substr(substring_index(name, ' ', -1),1,1)),'.')
END AS initials
FROM
(SELECT name, (length(name)-length(REPLACE(name, ' ',''))) AS cnt FROM
(SELECT REPLACE('Robert Downey Jr', '.','') AS name FROM T1)y)x;
可以使用STR_TO_DATE()函数将字符串时间转换为时间类型,然后进行比较。示例代码如下:
SELECT * FROM table_name
WHERE STR_TO_DATE(time_str1, '%H:%i:%s')
> STR_TO_DATE(time_str2, '%H:%i:%s')
其中,time_str1
和time_str2
是字符串时间,'%H:%i:%s'
参数是时间的格式。
另外,需要注意的是,如果字符串时间中包含日期信息,需要在格式参数中加上日期格式部分。例如,如果字符串时间为'2022-01-01 16:30:00'
,则格式参数应该为'%Y-%m-%d %H:%i:%s'
。