适用数据库
目前我只在MySQL 和Oracle 使用过。
- 我是先准备了一个测试表
  测试表SQL这里是用的MySQL导出的,大家可以自己创建一个表进行测试:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (
`id` int(0) NOT NULL,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `book` VALUES (23, '1111');
INSERT INTO `book` VALUES (24, 'Aaa');
INSERT INTO `book` VALUES (25, 'A1');
INSERT INTO `book` VALUES (26, 'a1');
SET FOREIGN_KEY_CHECKS = 1;
- 数据库有对字母进行转换成大写和小写的。
LOWER() 函数是把 字段中的字母转换成小写
SELECT LOWER(NAME) FROM `book`
 3. UPPER() 函数是把 字段中的字母转换成大写
SELECT UPPER(NAME) FROM `book`
 4. 如果想实现就是根据自己传入的参数去查询 数据,但是查询时参数不论是大写还是小写都可以查询出数据。SQL就要这样写了:因为参数的不确定性可能是大写和小写,所以在查询的时候要结合在一起查询。
SELECT * FROM `book` WHERE LOWER(NAME) LIKE '%a%' or UPPER(NAME) LIKE '%A%'

财富,不过是时间的馈赠。走好人生的每一步,才是最重要的。
|