谢谢各位大佬
CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型只能为:
CHAR[(N)] 字符型
DATE 日期型
DATETIME 日期和时间型
DECIMAL float型
SIGNED int
TIME 时间型
group_concat( [DISTINCT] 要连接的字段 [Order BY排序字段ASC/DESC] [Separator '分隔符'] )
以id分组,把price字段的值在同一行打印出来,逗号分隔(默认)
MySQL手册中find_in_set函数的语法:
FIND_IN_SET(str,strlist)
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8) ps: strlist 如果是Java程序传入的List集合.toString()方法传入的字符串是查不出数据的list.toString() => [1,2,6,8] .用逗号分隔中间有空格所以无法匹配
查询字段(strlist)中包含(str)的结果,返回结果为null或记录
假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
----
CONCAT(str1,str2,...)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
select concat(null,1,2); => 返回 null
SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。
SELECT SUBSTRING('Quadratically',5); => 'ratically'
时间格式化Date_Format(date,format)
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
说明符
说明
%a
工作日的缩写名称 (Sun..Sat)
%b
月份的缩写名称 (Jan..Dec)
%c
月份,数字形式(0..12)
%D
带有英语后缀的该月日期 (0th, 1st, 2nd, 3rd, ...)
%d
该月日期, 数字形式 (00..31)
%e
该月日期, 数字形式(0..31)
%f
微秒 (000000..999999)
%H
小时(00..23)
%h
小时(01..12)
%I
小时 (01..12)
%i
分钟,数字形式 (00..59)
%j
一年中的天数 (001..366)
%k
小时 (0..23)
%l
小时 (1..12)
%M
月份名称 (January..December)
%m
月份, 数字形式 (00..12)
%p
上午(AM)或下午( PM)
%r
时间 , 12小时制 (小时hh:分钟mm:秒数ss 后加 AM或PM)
%S
秒 (00..59)
%s
秒 (00..59)
%T
时间 , 24小时制 (小时hh:分钟mm:秒数ss)
%U
周 (00..53), 其中周日为每周的第一天
%u
周 (00..53), 其中周一为每周的第一天
%V
周 (01..53), 其中周日为每周的第一天 ; 和 %X同时使用
%v
周 (01..53), 其中周一为每周的第一天 ; 和 %x同时使用
%W
工作日名称 (周日..周六)
%w
一周中的每日 (0=周日..6=周六)
%X
该周的年份,其中周日为每周的第一天, 数字形式,4位数;和%V同时使用
%x
该周的年份,其中周一为每周的第一天, 数字形式,4位数;和%v同时使用
%Y
年份, 数字形式,4位数
%y
年份, 数字形式 (2位数)
%%
‘%’文字字符