日期:2014-05-16  浏览次数:20818 次

mysql中sql复习
--以下仅在mysql中尝试:

--两表之间更新数据
--把","误写成"and"会有很多奇妙的效果,当然,不一定会报错
update t1,t2 
set t1.a = t2.a, t1.b=t2.b ,t1.c=t2.c 
where t1.d=t2.d

--两表之间数据拷贝
insert into t1
select t2.*,'a','b'
from t2


字符排序问题
--表num_test
--列a1 -- varchar(12)
-- 9.200
-- 90.000
-- 65.500
-- null
SELECT 0+a1 a1_order,a1 
FROM num_test 
order by a1_order asc
--注:在ASC时,null在最前面,desc时在最后面 
--有的时候会遇到必须把null放到最后的需求,
--这时候想起oracle里的 nulls last/first了,可惜是mysql,
--使用isNull函数
--select isnull(null) from dual 返回 1
--select isnull('a') from dual 返回 0
--于是:
SELECT isnull(a1) null_order,0+a1 a1_order,a1 
FROM num_test 
order by null_order asc,a1_order asc



一个拼sql语句比较方便的类:java.text.MessageFormat
 String str = "这{0}是一{1}话{2}";
 String [] ss = {"就","句","而已"};
 System.out.println(java.text.MessageFormat.format(str , ss ));
 //这就是一句话而已