oracle SQL语句转换为mysql语句
实习期间遇到oracle转换SQL的情况。
oracle decode转换
例如orcale的这样的一个sql句子:
select * from (表) where id in('4538862','4588585','4883586','4883582','4993555','4993421','4993464')
order by decode(id ,'4538862','0','4883585','1','4883586','2','4883582','3','4993555','4','4993421','5','4993464','6');
而mysql沒有decode这样的函数,则转为mysql的一样的语句,可以如下:
select * from (表) where id in('4538862','4588585','4883586','4883582','4993555','4993421','4993464')
order by field(id ,'4538862','4588585','4883586','4883582','4993555','4993421','4993464');
所以mysql有field()函数自定义排序,格式为field(value,str1,str2,str3,str4)。
substr
oracle里面的substr和mysql不一样,oracle的是零开始算第一个,而mysql是1。
SUBSTR(str,pos,len);从pos开始的位置,截取len个字符(空白也算字符)
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果