mysql数据库表中的字段值取反的效果

直接po截图和代码,如下:

/*
建一个表,表中只写一个字段,然后插入数据时,既插入字符类型,也插入数字类型,也
插入布尔类型和NULL值,然后对这些字段值取反,看看取反后是什么结果?
*/
CREATE TABLE testOpposite(
	content VARCHAR(100)
)

#
SELECT content, !content AS '字段值取反后是什么?' FROM testOpposite;

#(说明:mysql数据库中数字0表示FALSE,数字1表示TRUE,或者非0即真)
#(在mysql中,0表示FALSE,1表示TRUE,或者非0即真)

#(说明:mysql数据库中数字0表示FALSE,数字1表示TRUE,或者非0即真)
#(在mysql中,0表示FALSE,1表示TRUE,或者非0即真)

/*
!'hello'(系统会先把字符串hello转换成数字型,若转换失败则转
换成数字0,然后再对数字0取反,所以!'hello'最终结果是1)
*/
INSERT INTO testOpposite (content) VALUES('hello'); #插入普通字符串
/*
!'why'(系统会先把字符串why转换成数字型,若转换失败则转
换成数字0,然后再对数字0取反,所以!'why'最终结果是1)
*/
INSERT INTO testOpposite (content) VALUES('why'); #插入普通字符串
/*
!'0'(系统会先把字符串0转换成数字型的0,然
后再对数字0取反,所以!'0'最终结果是1)
*/
INSERT INTO testOpposite (content) VALUES('0');#插入字符串类型的0
/*
!'1'(系统会先把字符串1转换成数字型的1,然
后再对数字1取反,所以!'1'最终结果是0)
*/
INSERT INTO testOpposite (content) VALUES('1');#插入字符串类型的1
#!0直接取反,结果是1
INSERT INTO testOpposite (content) VALUES(0);#插入数字类型的0
#!1直接取反,结果是0
INSERT INTO testOpposite (content) VALUES(1);#插入数字类型的1
/*
!'666'(系统会先把字符串666转换成数字型的666,然后再对数字666取反,又因
为666是非零的数字,非零即真,所以666表示真[即1],所以!'666'最终结果是0)
*/
INSERT INTO testOpposite (content) VALUES('666'); #插入字符串类型的666
/*
!'888'(系统会先把字符串888转换成数字型的888,然后再对数字888取反,又因
为888是非零的数字,非零即真,所以888表示真[即1],所以!'888'最终结果是0)
*/
INSERT INTO testOpposite (content) VALUES('888'); #插入字符串类型的888
#666是非0的数字,非0即真,真就是1,所以!666最终结果是0
INSERT INTO testOpposite (content) VALUES(666); #插入数字类型的666
#888是非0的数字,非0即真,真就是1,所以!888最终结果是0
INSERT INTO testOpposite (content) VALUES(888); #插入数字类型的888
/*
!'TRUE'(系统会先把字符串TRUE转换成数字型,若转换失败则转
换成数字0,然后再对数字0取反,所以!'TRUE'最终结果是1)
*/
INSERT INTO testOpposite (content) VALUES('TRUE'); #插入字符串类型的TRUE
/*
!'FALSE'(系统会先把字符串FALSE转换成数字型,若转换失败则转
换成数字0,然后再对数字0取反,所以!'FALSE'最终结果是1)
*/
INSERT INTO testOpposite (content) VALUES('FALSE'); #插入字符串类型的FALSE
#!TRUE即!1,所以最终结果是0
INSERT INTO testOpposite (content) VALUES(TRUE); #插入布尔类型的TRUE,插入表中时变成了1
#!FALSE即!0,所以最终结果是1
INSERT INTO testOpposite (content) VALUES(FALSE);#插入布尔类型的FALSE,插入表中时变成了0
#!NULL结果还是NULL
INSERT INTO testOpposite (content) VALUES(NULL);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值