mysql中的replace,concat,cast字符串函数
工作中需要导出一份求职用户的个人信息,这个信息
- 需要三表联查
- 要求出生日期格式:1990.01.02 数据库是:1990-01-02
- 性别显示:男 女 数据库是int型:0 1 (分别对应男女)
解决办法:
- 三表联查
2.时间格式化
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
详细参看:http://www.w3school.com.cn/sql/func_date_format.asp
3.性别显示就复杂了
首先需要mysql 替换函数 replace
mysql中replace
如:表 tb1里面的 f1字 段的abc替换为def
REPLACE(f1, ‘abc’, ‘def’);
ps:这样的话也可以使用mysql批量修改了
如:批量修改mysql语句
UPDATE article SET content = replace(content, ’PHP10086’, ’PHP淮北’) WHERE ID<5000;
不过replace适用于同类型的替换,如果不是同一类型的字段那就需要转化字段类型了。
mysql中cast
将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80'
将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串,如CAST(c.sex AS CHAR)
可用的类型
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
mysql中concat
concat
MySQL中concat函数
使用方法:
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
MySQL的concat函数可以连接一个或者多个字符串,如