mysql 转移字段_Mysql数据迁移与类型转换

条件语句CASE

CASE

WHEN a.business_mark!='' THEN 2ENDas source_type,

条件语句 CASE ELSE

CASE

WHEN a.business_mark!='' THEN 2WHEN a.rebate_id!='' THEN 1ELSE0ENDas source_type,

CASE a.is_pay

when1 then 20when2 then 10endas recharge_state,

if语句

if(a.receive_time='',null,from_unixtime(a.receive_time)) as time_receive_user_pay,

如果receive_time为空,则取第二个值,否则就去第三个值

时间转化 (1477984283 转 Y-m-d H:i:s)

from_unixtime(a.add_time) as time_publish_user_pay,

字段长度截取 CAST(a.price*0.93 AS DECIMAL(18,2))

CASE

when a.rebate_id!=' ' OR a.business_mark !=' ' THEN CAST(a.price*0.85 AS DECIMAL(18,2)) *100ELSE CAST(a.price*0.93 AS DECIMAL(18,2)) *100endas actual_pay_to_receiver_amount,

子查询

casewhen a.business_mark!='' then (select id from dl_business where mark=a.business_mark)

when a.rebate_id!=''then a.rebate_id

endas source_id,

条件为空查询

SELECT * FROM `dl_order` where business_mark is not null;

SELECT* FROM `dl_order` where business_mark !='';

SELECT * FROM `dl_order` where business_mark is null;

select max(length(desc)) from table order by length desc

两表查询

selecta.member_idasuser_id,

a.game_levelasdivision_id,

a.add_timeastime_create,

b.nameasdivision_namefromdl_member_attest a

left JOIN dl_game_type b ON a.game_level=b.id

limit0,10

三表查询

SELECT

a.idasuser_id,

c.idasdivision_id,

c.nameasdivision_name,

a.member_markashadchetman_sn,

CASE

WHEN b.is_status= 1 THEN 0WHEN b.is_status= 2 THEN 20WHEN b.is_status= 3 THEN 10end

AS hadchetman_state,

b.add_timeastime_createfromdl_member a

left JOIN dl_member_attest b ON a.id=b.member_id

INNER JOIN dl_game_type c ON b.game_level=c.id

limit0,10

多个left join

SELECTif(a.pay_status =1,null,from_unixtime(a.add_time)) astime_publish_user_pay,if(a.receive_time='',null,from_unixtime(a.receive_time)) astime_receive_user_pay,

game_area.nameasgame_area_name,

last_division.nameaslast_season_division_name,

current_division.nameascurrent_division_name,

target_division.nameastarget_division_name,

member.mobileasreceive_user_name,0 asis_delete,1 asdata_versionfromdl_order a

LEFT JOIN dl_order_lol b ON b.order_id=a.id

left JOIN dl_game_type game_area on b.game_area=game_area.id

left join dl_game_type last_division on b.game_start_level=last_division.id

left join dl_game_type current_division on b.game_start_level=current_division.id

left join dl_game_type target_division on b.game_start_level=target_division.id

left JOIN dl_member member on a.receive_member_id=member.id

ORDER BY a.id desc

limit0,100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值