1、substring() 截取字符串,截取数据库某一列字段中的一部分
MySQL: SUBSTR( ), SUBSTRING( )
Oracle: SUBSTR( )
SQL Server: SUBSTRING( ) ;
方法:
SBUSTR(str,pos);
从pos开始的位置,一直截取到最后。
SUBSTR(str,pos,len);
从pos开始的位置,len 字符长度(空白也算字符)。
2、concat()将多个字符连接成一个字符串
MySQL
方法:
select concat(str1,str2) from t_user;
(其中str1和str2是t_user表的两个字段)
如果 str1为null,str2为"aaa",返回的结果为null,那么则需要这样写:
select concat(ifnull(str1,"defaultvalue"),str2) from t_user
3.类型的转换问题
cast和 convert转换函数(显式)
1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ‘80′。
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串,signed为整数类型。
CAST(xxx AS 类型) as 列名 from 表名
CONVERT(xxx,类型) as 列名 from 表名
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
举例
栗子1:将日期转为整数型
表table1 date:2015-11-03 15:31:26 select cast(date as signed) as date from table1;
结果为:
date:20151103153126
栗子2:将整数转为decimal 数据类型
表table2 num:20 select cast(num as decimal(10, 2)) as num from table2
结果为:
num:20.00
解释:decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边.decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值.其中10是小数点左边和右边的数字个数之和(不包括小数点),2代表小数点右边的小数位数或数字个数.decimal(10,2)可以存储8位整数2位小数的数字.