一.char (),varchar(),nvarchar()
char 固定长度 效率最高 varchar 可变长度且非Unicode字符数据 节省空间 nvarchar 可变长度Unicode字符数据
1.char()的长度固定
eg:存储字符“abc”,
对于char(10),表示存储的字符将占10个字节(包括7个空字符)。
对于varchar2(10),则只占用3个字节,10只是最大值。当存储的字符小于10时,按实际长度存储。
2.varchar和varchar2是同义词。
工业版本的varchar类型可以存储空字符串。但oracle不这样做,oracle自己开发了一个数据类型varchar2,这个类型 不是一个标准的varchar,它将在数据库中可以存储空字符串的特性改为存储NULL值。
二,sql语句
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson
删除某行:DELETE (FROM) Person WHERE LastName = 'Wilson'如果没有where 条件,将删除整个表。
删除所有行:DELETE FROM table_name or delete * from table-name
truncate 与delete 比较:
truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。
truncate 比 delete速度快,且使用的系统和事务日志资源少。
truncate 操作后的表比Delete操作后的表要快得多。
当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能
三,函数
1.substr()
substr(string string,num start,num length);
string为字符串;
start为起始位置;
length为长度。
区别:
mysql中的start是从1开始的,而hibernate中的start是从0开始的。
2,replace()
replace(str,from_str,to_str)
返回字符串 str 中所有出现的 from_str 均被字符串to_str 替换后的字符串。 replace()搜索 from_str 字符串时进行区分大小写匹配。
3.日期函数
(1)DATE_ADD() 函数向日期添加指定的时间间隔。
DATE_ADD(date,INTERVAL expr unit)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
Type 值 MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
(2)TO_CHAR函数使用TO_CHAR函数处理日期:对数字使用to_char函数:
TO_CHAR(date,'格式'); TO_CHAR(newdate,'yyyy-mm-dd,HH24-MI-SS’)当数字与字符串混用且输出是字符串时,应使用to_char 将数字转化为需要的字符串(varchar2)
to_char(number,'fmt')
4,mysql 的ifnull()==oracle的nvl()
ifnull(expr1,expr2)
如果expr1不是null(或者值为0),则返回expr1,否则返回expr2.
5,mysql 数值截取
select cast(19.16558 as decimal(9,2))精确到几位
select round(123.5); 四舍五入
select floor(123.5);取整数部分
select ceil(123.5);向上取整,全部进1
6. to_number
to_number('2468','99999') 结果:2468
to_number('2468','9999') 结果:2468
to_number('2468','999') 结果:报错
to_number('246a','9999') 结果:报错
说明:格式元素 9,9的个数代表数字宽度。