V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 25 页 / 共 36 页
回复总数  708
1 ... 21  22  23  24  25  26  27  28  29  30 ... 36  
2022-09-12 18:11:58 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@dcsuibian 假设用『校检位视为两位数(那么身份证就是 19 位)』方法:

(`SQL` 大意,具体写要改成 `DIV`、`CAST(1e13 AS UNSIGNED)` 等)


1. 查找所有 x 省 y 市 z 区 /县 的人

- 不用索引:`身份证号 / 1e13 = 123456`

- 要用索引:`身份证号 BETWEEN 1234560000000000000 AND 1234569999999999999`


2. 查找所有 35 岁以上的人

- 不用索引:`身份证号 / 1e5 % 1e8 < 19870912`


3. 查找所有 x 省 y 市 z 区 /县 20 岁 ~ 35 岁 的人

- 要用索引:`身份证号 BETWEEN 1234561987091200000 AND 1234562002091299999`
2022-09-12 16:19:20 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@agagega 分段存。。咋存能 < 50 位?

是想办法去除不可能存在的数字吗?

比如用 16 位来存出生年月日(足够 180 年)?
2022-09-12 16:14:14 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@IvanLi127 @dcsuibian 一般身份证的模糊搜索,都是些啥需求呢?

- 查找所有 x 省 y 市 z 区 /县 的人?
- 查找所有 35 岁以上的人?
- 查找所有 x 省 y 市 z 区 /县 20 岁 ~ 35 岁 的人?
2022-09-12 14:54:20 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@iseki 那就正负号代表校检位是否不为 X 呗。。比如:

- 123456789012345678 会存储为:123456789012345678
- 12345678901234567X 会存储为:-123456789012345670

需要使用 1 位符号位 + ⌈ log2(10^18) ⌉ = 1 + 60 = 61 位
2022-09-12 14:37:57 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
@iseki

> 可以是可以,主要会不直观,如果只是简单去掉最后一位,不影响以十进制方式阅读

那『校检位视为两位数(那么身份证就是 19 位)』适合你啊。比如:

- 123456789012345678 会存储为:1234567890123456708
- 12345678901234567X 会存储为:1234567890123456710
2022-09-12 14:03:25 +08:00
回复了 iseki 创建的主题 问与答 有人存身份证号时丢掉最后一位吗
其实 int64 可以完全存下,包括校检位在内的,完整身份证号:

1. 用 ⌈ log2(10^17) ⌉ = 57 位来存前 17 位数字
2. 用 ⌈ log2(11) ⌉ = 4 位来存校检位

还剩 64 - 57 - 4 = 3 位空闲


或者,校检位视为两位数(那么身份证就是 19 位),刚好可用 ⌈ log2(10^19) ⌉ = 64 位存下
2022-09-11 16:11:55 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wdc63

> @LaTero 的算法应该不能保证结果是唯一的

这不就是你的 a*(b 的位数+1) + b 的二进制版么。。

要不,举个反例?
2022-09-11 15:47:32 +08:00
回复了 wdc63 创建的主题 程序员 由两个整数生成一个独特的整数
@wdc63 a, b 都在 10W 以下,那么共有 10W ^ 2 = 100 亿 种可能 > uint32 ≈ 42 亿,不可能不超出 int32 范围?
好奇,有这个需求,为啥会这样分表。。
2022-09-09 13:21:09 +08:00
回复了 wwwe 创建的主题 奇思妙想 摸鱼迎中秋,有奖猜数字
150
火绒不是有 安全工具 - 弹窗拦截 - 截图拦截 吗
2022-09-09 12:28:58 +08:00
回复了 1054850490 创建的主题 NAS 如何对文件进行查重
用 shell 写了一个:

功能:查找当前路径下所有 *.webm 文件,以文件名『 xxx 网页地址「 yyy 」.zzz 』中的「 yyy 」为分组依据,输出每组中(文件大小最小)的文件名

find . -name '*.webm' -printf '%s\t%p\n' | jq -Rsr '[capture("(?<size>\\d+)\\t(?<path>.*网页地址(?<key>.+)\\..+)"; "g")] | group_by(.key)[] | sort_by(.size | tonumber)[0].path'
2022-09-09 11:39:50 +08:00
回复了 Coolwinds 创建的主题 程序员 shell 小白请教一个脚本问题
可能 sshpass 有使用你的 stdin 吧
噢,有个变量名,4 楼改成 json_data[0][...
a[0]['rows'][0]['BillTypeOrg']

现在连 Python 基础知识都不熟悉了么。。
2022-09-07 14:53:39 +08:00
回复了 hideonwhere 创建的主题 问与答 (求助)请教一个 unbutu 删除大量文件的做法
find . -name 'xx.tar.bz2.*' -delete ?
2022-09-06 18:21:05 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
@simonlu9 感觉和前几楼说的那样,在 ORDER BY 里加个 user_id 之类的字段就好
2022-09-06 17:41:34 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
@simonlu9 还是没看懂。。举些例子吧,你希望是这样排名吗?

用户 ID  销售额 排名
———————————
 1  100  1
 2  100  1
 3    0  3
 4    0  3
 5    0  3
2022-09-06 17:25:03 +08:00
回复了 simonlu9 创建的主题 程序员 mysql 怎么保证每次查出来的排名是一致的
@simonlu9 啥意思。。

1. 你希望销售额相同的用户,他们的排名相同吗?

2. 你的 SQL 最里层的『 SELECT ... UNION SELECT ... ORDER BY ...』,每次获取,结果都一样吗?
@aloxaf 算交流吧,都一起骂了 bash 的难用的地方,@Jirajine 也介绍了 elvish 优越之处,我也有自己的保留意见


感觉我还能接受新鲜事物。不写脚本的话,尝试换下 shell 也是可以的(反正就自己用而已。好用就赚,难用就换~)


听你这么一说,会不会 @Jirajine 说的『 bash 的 glob 复杂』,其实是『 zsh 的 glob 复杂』的意思。。

原本我思来想去,即使算上 extended glob ,bash 的 glob 也和复杂沾不上边儿才对。。


elvish 不也是按照 \n 切割 (...) 嘛。。

反正被折磨多后,一般都用 "..." 包裹住就是了(然而还有个 ! 。。)
1 ... 21  22  23  24  25  26  27  28  29  30 ... 36  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2362 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 16:00 · PVG 00:00 · LAX 09:00 · JFK 12:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.