1.创建查询函数:(split_pid为函数名称) create function split_pid(str varchar (1000),delimiter varchar(1)) returns varchar(200) begin declare cur_str varchar(200); declare sub_len int; declare sub_str varchar(200); declare ret_str varchar(200); declare loop_count…
公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对.发现了一个现象,用数字0筛选会把所有的记录给筛选出来. 经过排查发现是在MySQL查询语句中,'abc'如果和'0'比较结果显然是不等的,但如果'abc'和0比较呢?结果居然是相等的. 随意测试了几下,结果如下: mysql> select 'abc'=0; +---------+ | 'abc'=0 | +---------+ | 1 | +---------+ 1 r…
Mysql中字符串处理的几种处理方法concat.concat_ws.group_concat以下详情: MySQL中concat函数使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,可使用显式类型 cast, 例如:SEL…
虽然SQL server和My sql的语句基本都一致,但是仍然存在一些小区别.就如字符串的连接来说,SQL server中的字符串连接是使用“+”来连接,不带引号sql server是做加法运算.而my sql中无论是带引号和不带引号,它都将其先转成数字型,然后在做运算. SQL Server中字符串的连接: ps:Age=21 SELECT '12'+'34',Age+1 FROM table 其结果输出结果是第一列是1234,第二列是22. MySQl中字符串连接: SELECT '12'…
MySQL字符串函数对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回NULL. mysql> select ASCII('2');-> 50mysql> select ASCII(2);-> 50mysql> select ASCII('dx');-> 100也可参见ORD()函数. ORD(str)如果字符串str最左面字符是一个多字节字符…
select * from qa_employ where EMPLOY_GROUP =2 原先雇佣表中所有雇佣姓名全部是"张三", 希望将雇用姓名变得不一样,比如张三+id SQLserver中直接用 update   qa_employset EMPLOY_NAME = EMPLOY_NAME+EMPLOY_idwhere EMPLOY_ID > 10 即使发现EMPLOY_id是int类型,最多用cast转一下 update   qa_employset EMPLOY_NA…
n的含义 根据网络上找到的结果(不能保证准确),在5.0.3以后版本中,n均代表字符数,而不是字节数:我用来测试的版本是5.7.20,该版本中,n表示字符数. 验证过程如下 建表 CREATE TABLE `teststring` ( `c` ) DEFAULT NULL, `v` ) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 插入数据并查询数据长度 INSERT INTO teststring VALUES ('幻乐之城','幻乐之城…
三步解决mysql字符串的隐藏字符: 1. 隐藏字符导致字符串长度边长,用mysql 自带的 Hex函数让隐藏字符显示真身, 2. 可以拿到隐藏字符的16进制码,然后用windows自带的计算器转化成 十进制数 3. 最后,执行 update user set mobile = REPLACE(mobile, char(49824),'');   完美去掉隐藏字符…
一.从左开始截取字符串 用法:left(str, length),即:left(被截取字符串, 截取长度) mysql> SELECT LEFT('hello,world',3); +-----------------------+ | LEFT('hello,world',3) | +-----------------------+ | hel | +-----------------------+ 1 row in set (0.00 sec) 二.从右开始截取字符串 用法:right(st…
DELIMITER $$ USE `ld_wpfmgl_sys`$$ DROP PROCEDURE IF EXISTS `code_query`$$ CREATE DEFINER=`root`@`%` PROCEDURE `code_query`(IN `$opfrom` INT, IN `$username` VARCHAR(50), IN `$password` VARCHAR(50), IN `$pagesize` INT, IN `$pageindex` INT, IN `$enterp…