需求
门诊患者姓名取药显示
需求:单姓第二字用*号代替,复姓第三个字用*号代替。
方案一
|
SELECT p.patient_name as real_name, CASE WHEN CHAR_LENGTH(p.patient_name) > 1 and fx.xm is NULL THEN CONCAT(LEFT(p.patient_name,1),'*',RIGHT(p.patient_name,CHAR_LENGTH(p.patient_name)-2)) WHEN CHAR_LENGTH(p.patient_name) > 1 and fx.xm is not NULL THEN CONCAT(LEFT(p.patient_name,2),'*',RIGHT(p.patient_name,CHAR_LENGTH(p.patient_name)-3)) ELSE p.patient_name end as show_name
FROM patient AS p LEFT JOIN bjx AS fx ON p.patient_name REGEXP CONCAT('^', fx.xm, '.'); |
方案二
|
SELECT p.patient_name as real_name, CASE WHEN CHAR_LENGTH(p.patient_name) > 1 and fx.xm is NULL THEN CONCAT(LEFT(p.patient_name,1),'*',RIGHT(p.patient_name,CHAR_LENGTH(p.patient_name)-2)) WHEN CHAR_LENGTH(p.patient_name) > 1 and fx.xm is not NULL THEN CONCAT(LEFT(p.patient_name,2),'*',RIGHT(p.patient_name,CHAR_LENGTH(p.patient_name)-3)) ELSE p.patient_name end as show_name FROM patient AS p LEFT JOIN bjx AS fx ON p.patient_name LIKE CONCAT(fx.xm, '_%'); |
复姓表【bjx】
|
id |
xm |
|
1 |
欧阳 |
|
2 |
太史 |
|
3 |
端木 |
|
4 |
上官 |
|
5 |
司马 |
|
6 |
东方 |
|
7 |
独孤 |
|
8 |
南宫 |
|
9 |
万俟 |
|
10 |
闻人 |
|
11 |
夏侯 |
|
12 |
诸葛 |
|
13 |
尉迟 |
|
14 |
公羊 |
|
15 |
赫连 |
|
16 |
澹台 |
|
17 |
皇甫 |
|
18 |
宗政 |
|
19 |
濮阳 |
|
20 |
公冶 |
|
21 |
太叔 |
|
22 |
申屠 |
|
23 |
公孙 |
|
24 |
慕容 |
|
25 |
仲孙 |
|
26 |
钟离 |
|
27 |
长孙 |
|
28 |
宇文 |
|
29 |
司徒 |
|
30 |
鲜于 |
|
31 |
司空 |
|
32 |
闾丘 |
|
33 |
子车 |
|
34 |
亓官 |
|
35 |
司寇 |
|
36 |
巫马 |
|
37 |
公西 |
|
38 |
颛孙 |
|
39 |
壤驷 |
|
40 |
公良 |
|
41 |
漆雕 |
|
42 |
乐正 |
|
43 |
宰父 |
|
44 |
谷梁 |
|
45 |
拓跋 |
|
46 |
夹谷 |
|
47 |
轩辕 |
|
48 |
令狐 |
|
49 |
段干 |
|
50 |
百里 |
|
51 |
呼延 |
|
52 |
东郭 |
|
53 |
南门 |
|
54 |
羊舌 |
|
55 |
微生 |
|
56 |
公户 |
|
57 |
公玉 |
|
58 |
公仪 |
|
59 |
梁丘 |
|
60 |
公仲 |
|
61 |
公上 |
|
62 |
公门 |
|
63 |
公山 |
|
64 |
公坚 |
|
65 |
左丘 |
|
66 |
公伯 |
|
67 |
西门 |
|
68 |
公祖 |
|
69 |
第五 |
|
70 |
公乘 |
|
71 |
贯丘 |
|
72 |
公皙 |
|
73 |
南荣 |
|
74 |
东里 |
|
75 |
东宫 |
|
76 |
仲长 |
|
77 |
子书 |
|
78 |
子桑 |
|
79 |
即墨 |
|
80 |
达奚 |
|
81 |
褚师 |
|
82 |
吴铭 |
结果

本文介绍了一种在门诊取药场景下,通过SQL查询技术实现患者姓名隐私保护的方法。具体而言,对于单姓患者,其名字的第二个字将被替换为星号;而对于复姓患者,则第三个字被替换。此外,还提供了两种SQL查询方案,并列出了一张包含常见复姓的表格。
1239

被折叠的 条评论
为什么被折叠?



