SQL查询与银行号校验代码片段集合

需积分: 9 2 下载量 74 浏览量 更新于2024-09-08 收藏 17KB TXT 举报
该资源主要包含了几个常用的代码片段,涵盖了GPS距离计算、数据查询以及银行卡号校验等功能。这些代码可以用于不同的IT应用场景,如数据分析、用户管理或金融业务处理。 1. GPS距离计算: 虽然在提供的内容中没有直接给出GPS距离计算的代码,但通常这涉及到地理坐标(经度和纬度)之间的Haversine公式应用。Haversine公式可以计算两个地球表面坐标点之间的大圆距离。以下是一个简单的Haversine距离计算的JavaScript函数示例: ```javascript function calculateDistance(lat1, lon1, lat2, lon2) { var R = 6371; // 地球半径,单位:公里 var dLat = (lat2 - lat1) * Math.PI / 180; var dLon = (lon2 - lon1) * Math.PI / 180; var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) * Math.sin(dLon / 2) * Math.sin(dLon / 2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); var distance = R * c; return distance; } ``` 2. 数据查询: 在SQL语句中,可以看到用于获取特定订单号的电话号码列表和统计每天注册用户数量的查询。 - 获取订单电话号码列表: ```sql SELECT GROUP_CONCAT(DISTINCT tel) AS tel FROM `order` WHERE order_num IN ('201703220450225216', '201703220450225217'); ``` 这条语句将返回指定订单号对应的唯一电话号码列表。 - 统计每天的注册人数: ```sql SELECT from_unixtime(cdate, '%Y-%m-%d') AS cdate, COUNT(*) AS rc FROM `user` GROUP BY cdate; ``` 此查询用于按日期分组统计每天新注册的用户数量。 3. 银行卡号校验: 提供的JavaScript函数`chkbankno`用于校验银行卡号的合法性,基于Luhn算法(也称为模10算法)。Luhn算法是一种简单的校验和方法,用于检测数字序列的错误。 ```javascript function chkbankno(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); // 获取最后一位数字 var first15Num = bankno.substr(0, bankno.length - 1); // 获取去掉最后一位后的数字串 // ... // Luhn算法的实现,包括奇偶位处理、乘2后的进位处理等 // ... // 返回校验结果 return result; } ``` 在这个函数中,首先获取最后一位数字,然后对剩下的数字进行处理,按照Luhn算法的规则,对奇数位置的数字进行双倍处理,如果双倍后大于9,则将各位相加得到新的值,再将所有偶数位置的数字与双倍处理后的奇数位置数字组合,然后逐位相加。最后将结果与原数的最后一位相加,若结果能被10整除,则银行卡号有效。 这些代码片段可以作为开发中的实用工具,帮助快速实现特定功能。对于GPS计算、SQL查询以及银行账号验证等场景,开发者可以参考这些代码来优化自己的项目。