首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    char、varchar、binary和varbinary的区别与联系

    char使用固定长度的空间进行存储,char(4)存储4个字符,根据编码方式的不同占用不同的字节,gbk编码方式,不论是中文还是英文,每个字符占用2个字节的空间,utf8编码方式,每个字符占用3个字节的空间。 如果需要存储的字符串的长度跟所有值的平均长度相差不大,适合用char,如MD5。 对于经常改变的值,char优于varchar,原因是固定长度的行不容易产生碎片。 对于很短的列,char优于varchar,原因是varchar需要额外一个或两个字节存储字符串的长度。 varchar保存可变长度的字符串,使用额外的一个或两个字节存储字符串长度,varchar(10),除了需要存储10个字符,还需要1个字节存储长度信息(10),超过255的长度需要2个字节来存储 例外:Myisam引擎中使用ROW_FORMAT=FIXED时,每行使用相同的空间,造成浪费 char和varchar后面如果有空格,char会自动去掉空格后存储,varchar虽然不会去掉空格,但在进行字符串比较时,会去掉空格进行比较

    01

    带你学MySQL系列 | 这份MySQL函数大全,真的超有用!

    1.MySQL中关于函数的说明 2.单行函数分类 3.字符函数 1)length(str):获取参数值的字节个数; 2) concat(str1,str2,…):拼接字符串; 3)upper(str):将字符中的所有字母变为大写; 4)lower(str):将字符中所有字母变为小写; 5)substr(str,start,[len]):从start位置开始截取字符串,len表示要截取的长度; 6)instr(str,要查找的子串):返回子串第一次出现的索引,如果找不到,返回0; 7)trim(str):去掉字符串前后的空格; 8)lpad(str,len,填充字符):用指定的字符,实现对字符串左填充指定长度; 9)rpad(str,len,填充字符):用指定的字符,实现对字符串右填充指定长度; 10) replace(str,子串,另一个字符串):将字符串str中的字串,替换为另一个字符串; 4.数学函数 1)round(x,[保留的位数]):四舍五入; 2)ceil(x):向上取整,返回>=该参数的最小整数。(天花板函数) 3)floor(x):向下取整,返回<=该参数的最大整数。(地板函数) 4)truncate(x,D):截断; 5)mod(被除数,除数):取余; 5.日期时间函数 1)now():返回系统当前的日期和时间; 2)curdate():只返回系统当前的日期,不包含时间; 3)curtime():只返回系统当前的时间,不包含日期; 4)获取日期和时间中年、月、日、时、分、秒; 5)weekofyear():获取当前时刻所属的周数; 6)quarter():获取当前时刻所属的季度; 7)str_to_date():将日期格式的字符串,转换成指定格式的日期; 8)date_format():将日期转换成日期字符串; 9)date_add() + interval:向前、向后偏移日期和时间; 10)last_day():提取某个月最后一天的日期; 11)datediff(end_date,start_date):计算两个时间相差的天数; 12)timestampdiff(unit,start_date,end_date):计算两个时间返回的年/月/天数; 6.其它常用系统函数 7.流程控制函数 1)if函数:实现if-else的效果; 2)ifnull函数:判断值是否为null,是null用指定值填充; 3)case…when函数的三种用法; ① case … when用作等值判断的语法格式; ② case … when用作区间判断的语法格式; ③ case…when与聚合函数的联用 8.聚合函数 1)聚合函数的功能和分类; ① 聚合函数的功能; ② 聚合函数的分类; 2)聚合函数的简单使用; 3)五个聚合函数中传入的参数,所支持的数据类型有哪些? ① 测试数据; ② sum()函数和avg()函数:传入整型/小数类型才有意义; ③ max()函数和min()函数:传入整型/小数类型、日期/时间类型意义较大; ④ count()函数:可以传入任何数据类型,但是碰到null要注意; ⑤ count()函数碰到null值需要特别注意; ⑥ count(1),count(0)表示的是啥意思呢? ⑦ count(*)计数的效率问题; 4)聚合函数和group by的使用“最重要”;

    04

    MySQL基础知识之函数

    SELECT EXTRACT(MINUTE FROM '2011-11-11 11:11:11') -> 11 FROM_DAYS(n)计算从 0000 年 1 月 1 日开始 n 天后的日期 SELECT FROM_DAYS(1111) -> 0003-01-16 HOUR(t)返回 t 中的小时值 SELECT HOUR('1:2:3') -> 1 LAST_DAY(d)返回给给定日期的那一月份的最后一天 SELECT LAST_DAY("2017-06-20"); -> 2017-06-30 LOCALTIME()返回当前日期和时间 SELECT LOCALTIME() -> 2018-09-19 20:57:43 LOCALTIMESTAMP()返回当前日期和时间 SELECT LOCALTIMESTAMP() -> 2018-09-19 20:57:43 MAKEDATE(year, day-of-year)基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期 SELECT MAKEDATE(2017, 3); -> 2017-01-03 MAKETIME(hour, minute, second)组合时间,参数分别为小时、分钟、秒 SELECT MAKETIME(11, 35, 4); -> 11:35:04 MICROSECOND(date)返回日期参数所对应的微秒数 SELECT MICROSECOND("2017-06-20 09:34:00.000023"); -> 23 MINUTE(t)返回 t 中的分钟值 SELECT MINUTE('1:2:3') -> 2 MONTHNAME(d)返回日期当中的月份名称,如 November SELECT MONTHNAME('2011-11-11 11:11:11') -> November MONTH(d)返回日期d中的月份值,1 到 12 SELECT MONTH('2011-11-11 11:11:11') ->11 NOW()返回当前日期和时间 SELECT NOW() -> 2018-09-19 20:57:43 PERIOD_ADD(period, number)为 年-月 组合日期添加一个时段 SELECT PERIOD_ADD(201703, 5); -> 201708 PERIOD_DIFF(period1, period2)返回两个时段之间的月份差值 SELECT PERIOD_DIFF(201710, 201703); -> 7 QUARTER(d)返回日期d是第几季节,返回 1 到 4 SELECT QUARTER('2011-11-11 11:11:11') -> 4 SECOND(t)返回 t 中的秒钟值 SELECT SECOND('1:2:3') -> 3 SEC_TO_TIME(s)将以秒为单位的时间 s 转换为时分秒的格式 SELECT SEC_TO_TIME(4320) -> 01:12:00 STR_TO_DATE(string, format_mask)将字符串转变为日期 SELECT STR_TO_DATE("August 10 2017", "%M %d %Y"); -> 2017-08-10 SUBDATE(d,n)日期 d 减去 n 天后的日期 SELECT SUBDATE('2011-11-11 11:11:11', 1) ->2011-11-10 11:11:11 (默认是天) SUBTIME(t,n)时间 t 减去 n 秒的时间 SELECT SUBTIME('2011-11-11 11:11:11', 5) ->2011-11-11 11:11:06 (秒) SYSDATE()返回当前日期和时间 SELECT SYSDATE() -> 2018-09-19 20:57:43 TIME(expression)提取传入表达式的时间部分 SELECT TIME("19:30:10"); -> 19:30:10 TIME_FORMAT(t,f)按表达式 f 的要求显示时间 t SELECT TIME_FORMAT('11:11:11','%r') 11:11:11 AM TIME_TO_SEC(t)将时间 t 转换为秒 SELECT TIME_TO_SEC('1:12:00') -> 4320 TIMEDIFF(time1, time2)计算时间差值 SELECT TIMEDIFF("13:10:11", "13:10:10"); -> 00:00:01 TIMESTAMP(expression, interval)单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和 SELECT TIMESTAM

    04
    领券