CONCAT(SUBSTRING(m.USER_NAME,1,1),'***') AS `USER_NAME`

CONCAT(SUBSTRING(m.USER_NAME,1,2),'***') AS `USER_NAME`


substring截取 从左边第一位,往后截取2位


concat 连接符,

SELECT DISTINCT cr.id, IF( cr.cur_local IS NULL, cr.end_local, cr.cur_local ) AS end_local, cr.route_status, cra.car_info_id, si.user_name AS name, ci.car_number, ci.car_used, si.phone_number AS driver_phone, ci.use_type, IF( cr.cur_local_time IS NULL, cr.end_time, cr.cur_local_time ) AS end_time, cr.is_gps_hardware AS is_device FROM car_route cr LEFT JOIN car_route_apply cra ON cr.id = cra.route_id LEFT JOIN car_info ci ON ci.id = cra.car_info_id LEFT JOIN zt_sys_user_info si ON si.id = cr.user_id LEFT JOIN zt_sys_staff_info ss ON ss.user_id = cr.user_id WHERE ss.company_id = '5b14469fd5564f04a0a2baed31d8d7c6' AND cr.create_time IN (SELECT MAX(b.create_time) FROM car_route b LEFT JOIN zt_sys_staff_info c ON c.user_id = b.user_id WHERE b.user_id IS NOT NULL AND b.user_id <> '' AND b.route_status IN (2, 3, 4) AND b.route_type IN (1, 2) AND c.company_id = '5b14469fd5564f04a0a2baed31d8d7c6' AND ( ST_Distance( ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX(cur_local, ',', - 1), ' ', SUBSTRING_INDEX(cur_local, ',', 1), ')' ) ), ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX( '39.915,116.404', ',', - 1 ), ' ', SUBSTRING_INDEX( '39.915,116.404', ',', 1 ), ')' ) ) ) < 37417 OR ST_Distance( ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX(end_local, ',', - 1), ' ', SUBSTRING_INDEX(end_local, ',', 1), ')' ) ), ST_GeomFromText( CONCAT( 'POINT(', SUBSTRING_INDEX( '39.915,116.404', ',', - 1 ), ' ', SUBSTRING_INDEX( '39.915,116.404', ',', 1 ), ')' ) ) ) < 37417 ) GROUP BY b.user_id) 帮我优化这段sql
最新发布
07-15
--#建立存储过程,把数据导入到相应的表中 --execute add_data '面向对象系统分析与设计实验信计201','面向对象系统分析与设计实验信计201','101001' create proc add_data @course_id varchar(200),@table_name varchar(200),@teacher_id varchar(200) as if exists(select * from syscursors where cursor_name='prj_Cursor') deallocate prj_Cursor declare @str_sql varchar(1024); declare @num int; SELECT @num=count(NAME)-3 FROM SYSCOLUMNS WHERE ID=OBJECT_ID(@table_name); set @str_sql=CONCAT('insert into tb_Course(course_id,course_name,num_of_project,table_name,teacher_id)values(', '''', @course_id, ''',', '''', left(@course_id,len(@course_id)-3), ''',', cast(@num as varchar), ',''', @table_name, ''',''', @teacher_id, ''')'); print @str_sql EXEC(@str_sql)--课程信息插入到tb_Course DECLARE prj_Cursor SCROLL CURSOR for SELECT NAME FROM sys.columns WHERE [object_id]=OBJECT_ID(@table_name) order by column_id; OPEN prj_Cursor declare @prj varchar(128) FETCH ABSOLUTE 4 FROM prj_Cursor into @prj while (@@fetch_status=0) begin--把实验项目加入到tb_Project表 print(@prj) set @str_sql='insert into tb_Project(project_id,project_name,course_id,project_open) values('''+ right(@course_id,3)+@prj+''','+ ''''+@prj+''','''+@course_id+''','+'0'+')' print @str_sql EXEC(@str_sql)--项目信息插入到tb_Project FETCH next FROM prj_Cursor into @prj end set @str_sql=CONCAT('insert into tb_User(user_name,user_password,full_name) select ', 'SNO', ',substring(sys.fn_sqlvarbasetostr(HASHBYTES(''MD5'',','SNO)),3,32),Sname', ' from ', @table_name, ' where SNO not in(select user_name from tb_User)' ); --如果字段的类型是nvarchar的,md5加密前需要强制转化一下类型CAST([SNO] as varchar(50)) print @str_sql EXEC(@str_sql)--学生账号插入到tb_User set @str_sql='insert into tb_SC(SNO,course_id) select SNO,''' +@course_id+ ''' from '+@table_name print @str_sql EXEC(@str_sql)--选课信息插入到tb_SC go 怎么分段写入SQL
05-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值