DB

一.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
 


     

   delete: 删除内容,不删除定义,不释放空间
truncate:删除内容,不删除定义,释放空间
 drop:删除内容和定义,释放空间

truncate 与delete 比较:

truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。

truncate 比 delete速度快,且使用的系统和事务日志资源少。

truncate 操作后的表比Delete操作后的表要快得多。

当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能



当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a WHERE clause), 用 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(date,'格式'); TO_CHAR(newdate,'yyyy-mm-dd,HH24-MI-SS’)
对数字使用to_char函数:

当数字与字符串混用且输出是字符串时,应使用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的个数代表数字宽度。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值