Code前端首页关于Code前端联系我们

mysql数据库比较字符串数值(mysql数据库字符串类型)

terry 2年前 (2023-09-30) 阅读数 30 #Mysql
文章标签 mysql cte

本文目录一览:

  • 1、java、mysql字符串比较大小
  • 2、MySQL数据库中如何用date类型的数据与类似于“2015-01-02”的字符串进行比较?
  • 3、mysql两个数字型字符串比较!详细如下

java、mysql字符串比较大小

可以啊,字符串是可以比较大小的。

不过要注意,你要确保count里面都是数字,可别什么乱七八糟的字符都有啊。

还要保证比较的字符串的长度相同,用lengt(count)=3来限定。如果min和max是变量,那么就拼sql,然后把min.length()给拼接进去。

MySQL数据库中如何用date类型的数据与类似于“2015-01-02”的字符串进行比较?

用date_format(date,'yyyy-mm-dd') 函数 把date转换成你想要的格式的字符串,然后直接就可以比较了

mysql两个数字型字符串比较!详细如下

我的答案是纯手打的,请认真看,不要浪费我的表情哦~

如果以字符串存储,格式就是 年月日(20120101等于2012-01-01)的话

首先把 日期字符串 转换成 合格的日期

concat_ws(连接符号,字符串1,字符串2...)

第一步代码:

SELECT

CONCAT_WS('-',

SUBSTRING('20120101',1,4),

SUBSTRING('20120101',5,2),

SUBSTRING('20120101',7,2) ) AS 开始日期 ,

CONCAT_WS('-',

SUBSTRING('20120608',1,4),

SUBSTRING('20120608',5,2),

SUBSTRING('20120608',7,2) ) AS 结束日期 ;

------------------------------------------------------------

第二步,将日期使用日期运算函数进行相减:

TIMESTAMPDIFF(返回结果,日期1,日期2)

最终代码:

SELECT

CONCAT_WS('-',

SUBSTRING('20120101',1,4),

SUBSTRING('20120101',5,2),

SUBSTRING('20120101',7,2) ) AS 开始日期 ,

CONCAT_WS('-',

SUBSTRING('20120608',1,4),

SUBSTRING('20120608',5,2),

SUBSTRING('20120608',7,2) ) AS 结束日期 ,

TIMESTAMPDIFF(

DAY,

CONCAT_WS('-',

SUBSTRING('20120101',1,4),

SUBSTRING('20120101',5,2),

SUBSTRING('20120101',7,2) ) ,

CONCAT_WS('-',

SUBSTRING('20120608',1,4),

SUBSTRING('20120608',5,2),

SUBSTRING('20120608',7,2) )

) AS 相差天数

;

-------------------------------------------------------------------------------------

不好意思,看错题目,我以为你是要运算。如果是比较,就先把日期转换为时间戳进行比较是这样:

unix_timestamp(日期)

SELECT

unix_timestamp(

CONCAT_WS('-',

SUBSTRING('20120101',1,4),

SUBSTRING('20120101',5,2),

SUBSTRING('20120101',7,2) )

) AS 开始日期,

unix_timestamp(

CONCAT_WS('-',

SUBSTRING('20120608',1,4),

SUBSTRING('20120608',5,2),

SUBSTRING('20120608',7,2) )

) AS 开始结束;

--------------------------------------------------------------------------

直接判断即可

新建一个数据库来验证:

CREATE DATABASE test5_4_17

DEFAULT CHARACTER SET utf8

DEFAULT COLLATE UTF8_BIN;

#新建一个test_4_17 使用utf8字符串

USE test5_4_17;

#打开数据库

CREATE TABLE test(

id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,

date_v VARCHAR(30) NOT NULL

);

INSERT INTO test VALUES(NULL,'20110303');

INSERT INTO test VALUES(NULL,'20120303');

INSERT INTO test VALUES(NULL,'20120304');

INSERT INTO test VALUES(NULL,'20130303');

SELECT * FROM test; #查看数据有了

SELECT * FROM

test

WHERE

UNIX_TIMESTAMP(date_v) =

unix_timestamp(

CONCAT_WS('-',

SUBSTRING('20120101',1,4),

SUBSTRING('20120101',5,2),

SUBSTRING('20120101',7,2) )

)

AND

UNIX_TIMESTAMP(date_v) =

unix_timestamp(

CONCAT_WS('-',

SUBSTRING('20120608',1,4),

SUBSTRING('20120608',5,2),

SUBSTRING('20120608',7,2) )

)

结果是

20120303

20120304

-----------------------------------------------------------------------------------------

参数中的 日期字符串 可以换成 字段名

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门