SQL查询与银行号校验代码片段集合
需积分: 9 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查询以及银行账号验证等场景,开发者可以参考这些代码来优化自己的项目。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2015-04-09 上传
2019-04-21 上传
2020-12-26 上传
goldstar3000
- 粉丝: 3
- 资源: 15
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫