您的位置:

请设计数据库事件字符比较的简单介绍

本文目录一览:

MySQL中的字符串比较

你这两个都不是字符串的比较函数呀。

MYSQL的字符串比较函数如下:

通常,如果在字符串比较中的任何表达式是区分大小写的,比较以大小写敏感的方式执行。

expr LIKE pat [ESCAPE 'escape-char']

使用SQL的简单的正规表达式比较的模式匹配。返回1(TRUE)或0(FALSE)。用LIKE,你可以在模式中使用下列2个通配符字符: % 匹配任何数目的字符,甚至零个字符

_ 精确匹配一个字符

mysql select 'David!' LIKE 'David_';

- 1

mysql select 'David!' LIKE '%D%v%';

- 1

为了测试一个通配符的文字实例,用转义字符的加在字符前面。如果你不指定ESCAPE字符,假定为“\”:

\% 匹配一%字符

\_ 匹配一_字符

mysql select 'David!' LIKE 'David\_';

- 0

mysql select 'David_' LIKE 'David\_';

- 1

为了指定一个不同的转义字符,使用ESCAPE子句:

mysql select 'David_' LIKE 'David|_' ESCAPE '|';

- 1

LIKE允许用在数字的表达式上!(这是MySQL对ANSI SQL LIKE的一个扩充。)

mysql select 10 LIKE '1%';

- 1

注意:因为MySQL在字符串中使用C转义语法(例如,“\n”),你必须在你的LIKE字符串中重复任何“\”。例如,为了查找“\n”,指定它为“ \\n”,为了查找“\”,指定它为“\\\\”(反斜线被分析器剥去一次,另一次是在模式匹配完成时,留下一条单独的反斜线被匹配)。

expr NOT LIKE pat [ESCAPE 'escape-char']

与NOT (expr LIKE pat [ESCAPE 'escape-char'])相同。

expr REGEXP pat

expr RLIKE pat

执行一个字符串表达式expr对一个模式pat的模式匹配。模式可以是一个扩充的正则表达式。见MySQL 正则表达式句法的 H 描述.如果expr匹配pat,返回1,否则返回0。RLIKE是REGEXP的一个同义词,提供了与mSQL的兼容性。注意:因为MySQL在字符串中使用C转义语法(例如,“\n”), 你必须在你的REGEXP字符串重复任何“\”。在MySQL3.23.4中,REGEXP对于正常的(不是二进制)字符串是忽略大小写。

mysql select 'Monty!' REGEXP 'm%y%%';

- 0

mysql select 'Monty!' REGEXP '.*';

- 1

mysql select 'new*\n*line' REGEXP 'new\\*.\\*line';

- 1

mysql select "a" REGEXP "A", "a" REGEXP BINARY "A";

- 1 0

当决定一个字符的类型时,REGEXP和RLIKE使用当前的字符集(缺省为ISO-8859-1 Latin1)。

expr NOT REGEXP pat

expr NOT RLIKE pat

与NOT (expr REGEXP pat)相同。

STRCMP(expr1,expr2)

如果字符串相同,STRCMP()回来0,如果第一参数根据当前的排序次序小于第二个,返回-1,否则返回1。

mysql select STRCMP('text', 'text2');

- -1

mysql select STRCMP('text2', 'text');

- 1

mysql select STRCMP('text', 'text');

- 0

在SQL中怎样实现字符串大小的比较

sql里面字符串没有大小之分,只有长度之分,可以比较长度大小,但是想用一条sql语句直接拿到大小结果来说也不太方便,最好是借助程序或者sql脚本来做,我用oracle试了下,用case when函数是可以直接比较大小的,比如第一个值比第二个大输出0,否则输出1:

select (case when len1len2 then 0 when len1len2 then 1 end) as res from (

select length('asd') as len1,length('as') as len2 from dual) t

JSP-Servlet中如何与数据库中的字符串比较?跪求!代码如下

// ---------------判断登陆用户名密码是否正确------------//

public boolean loginSuccess(User user) {

boolean flag = false;

String countSql = " select count(*) from users where USER_NAME ='"

+ user.getUserName() + "' AND USER_PASSWORD='"

+ user.getUserPassword() + "'";

int row = 0;

try {

st = con.createStatement();

rs = st.executeQuery(countSql);

while (rs.next()) {

row = rs.getInt(1);

}

} catch (SQLException e) {

e.printStackTrace();

}

if (row 0) {

flag = true;

}

return flag;

}

看看。

劝你不要把JAVA代码写在JSP页面上。。把表现层与业务层分开最好。

SQL数据库中字符串与char数据类型的比较

别听别人瞎说,这就是varchar和char的区别当定义了char的长度后如果长度不够则会自动用空字符补全,而varchar则没事如果是18位的你查询的时候用你的18位加一个空格就能查出来了,不过一般用char类型的,长度都是固定的,毕竟补全空格比较麻烦,所以数据类型要谨慎使用

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

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

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

如何在SQL数据库中截取字符串并且比较。

CREATE TABLE #商品信息(

CODE VARCHAR(8),

NAME VARCHAR(8)

);

CREATE TABLE #商品浏览记录(

CODE VARCHAR(8),

NAME VARCHAR(8)

);

INSERT INTO #商品信息

SELECT '00010001', '可乐' UNION ALL

SELECT '00010002', '汽水' UNION ALL

SELECT '00010003', '啤酒' UNION ALL

SELECT '00020001', '牙刷' UNION ALL

SELECT '00020002', '毛巾' UNION ALL

SELECT '00030001', '内存' UNION ALL

SELECT '00030002', 'CPU'

GO

INSERT INTO #商品浏览记录

SELECT '00010003', '啤酒' UNION ALL

SELECT '00030002', 'CPU'

GO

SELECT

g.*

FROM

#商品信息 g

JOIN

(SELECT DISTINCT SUBSTRING(CODE, 1, 4) FROM #商品浏览记录) v

ON (g.CODE LIKE v.CODE + '%')

CODE NAME

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

00010001 可乐

00010002 汽水

00010003 啤酒

00030001 内存

00030002 CPU

(5 行受影响)

请设计数据库事件字符比较的简单介绍

2022-11-30
c语言用什么软件设计,c语言用什么软件设计比较好

2022-12-02
作为一个python开发员,web系统,图书管理系统,请思考

2023-01-06
difflib与顺序相关的简单介绍

2022-12-02
mysql数据库操作软件(数据库软件下载MySQL)

2022-11-16
mysql数据库简介ppt的简单介绍

2022-11-15
python和mysql哪个比较好用的简单介绍

2022-11-23
mysql数据库需要什么软件(数据库要用什么软件)

2022-11-14
软件测试之python篇的简单介绍

2022-11-20
js插件javascript的简单介绍

本文目录一览: 1、javascript插件有哪些 2、contab.js插件怎么使用 3、北大青鸟java培训:7大优秀的JavaScript库? 4、如何用javascript写个插件 5、怎么使

2023-12-08
mysql数据库姿源(MySql数据库简介)

2022-11-12
包含mysql数据库设计,MySQL数据库设计与应用

2022-11-23
人事系统php的简单介绍

2022-12-01
mysql数据库硬核介绍,mysql核心

2022-11-22
tssd无法打开协同设计软件的简单介绍

2023-01-03
求教extjs4可视化软件的简单介绍

本文目录一览: 1、ExtJS是什么,一位学长说的,对这个从未听说 2、转:新手如何学习ExtJS 4 3、extjs4.0和eclipse(不用myeclipse)。 将extjs下载下来后怎么用?

2023-12-08
mysql数据库操作简介,mysql数据库简单介绍

2022-11-21
软件测试常用python场景的简单介绍

2022-11-22
c语言制作简单软件,C语言程序设计的软件

2023-01-06
learningphpmysql的简单介绍

2022-11-09