- mysql 唯一键忽略空串_具有唯一字段的MySQL数据库忽略结束空格
左志坚
mysql唯一键忽略空串
问题是MySQL在进行字符串比较时会忽略尾随空格.看到http://dev.mysql.com/doc/refman/5.7/en/char.htmlAllMySQLcollationsareoftypePADSPACE.ThismeansthatallCHAR,VARCHAR,andTEXTvaluesinMySQLarecomparedwithoutregardtoanytrailingspa
- Cadence Allegro 学习笔记(已完成,笔记待补充)
LIX_TR
Cadence学习记录笔记
一、利用OrCAD绘制原理图二、PCB库部分(利用PadstackEditor制作焊盘+PCBEditor制作封装)三、PCBEditor操作的基本设置四、PCB布局部分整版Fanout(扇出----指引出一小段短线、打孔、绘制铜皮的操作)五、PCB布线部分六、PCB输出文件部分
- 2018年1月19号
从心印心
❤️Lizzy与奖无缘的我IPadsiPhoneskindles从去年年会,到每一次公司战略会,还是中心小年会。每一次都无缘各种奖项,深圳连最小的也没有。图片发自App
- ES字符串方法
大鸿先生
莫得想到,ES8还新增了字符串的方法,String.prototype.padStart和String.prototype.padEnd。用法:String.padStart(targetLength,[padString])targetLength:必需,当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。padString:可选,填充字符串。如果字符串太长,
- js按固定位数填充字符串
pzpcxy520
javascript
conststr="abcd"str.padStart(8,0)console.log(str)结果为0000abcd
- ThinkPad L13 Yoga Gen2, S2 Yoga Gen6原装出厂Win10系统 恢复出厂设置预装OEM系统镜像
Q17855069
Lenovo联想ThinkPadLENOVO联想恢复出厂系统原装系统Windows10S2笔记本L13笔记本
lenovo联想ThinkPadS2L13Gen2Gen6恢复开箱状态原厂Windows10系统适用型号:ThinkPadL13Gen2,ThinkPadL13YogaGen2,ThinkPadS2Gen6,ThinkPadS2YogaGen6(21AC,21AE,21AB,21AD,21AF,21AG)链接:https://pan.baidu.com/s/1MYnuyGOtT-h3_7FbJZd
- 2020-09-09 关于PADS VX系列软件工具栏过小问题
LM46810
安装了VX标准版和Plus等版本,发现都存在工具栏太小的问题(4K显示屏)图标太小把鼠标移到工具栏,单击右键选择“自定义”,在“选项”一栏下勾选“大图标”即可,如下图所示鼠标移到工具栏,单击右键选择“自定义”在“选项”一栏下勾选“大图标”勾选后图标大小刚好合适
- Cadence 17.4系列中,通过Padstack Editer创建焊盘后,PCB Designer无法识别的问题
haputa�
Cadence
我们通过PadstackEditer创建后,会把焊盘安放在自己指定的目录中,以便下次使用,这样就会产生一个问题,在PCBDesigner的Path中没有更新该焊盘所在的路径,导致Layout->pin后,在Option的Padstack中找不到自己创建的焊盘。那么,我们需要手动去添加Path,以使软件检测到该焊盘的位置。具体如下:在这里把自己创建的Pad路径添加进来即可。关联错误提示:(SPMHA
- VOL_常用记录!!
Tang_Monk
vue.jsvscode
目录前端1.js如何获取当前时间(yy-MM-ddHH:MM:SS)2.http请求3.grid扩展js常用后端1.待补充前端1.js如何获取当前时间(yy-MM-ddHH:MM:SS)getCurrentTime(){constnow=newDate();return`${now.getFullYear()}-${(now.getMonth()+1).toString().padStart(2,
- 各个官网常见的元素出现动画
外围前端吴彦祖
前端
{{item.toString().padStart(5,"0")}}exportdefault{components:{},data(){return{list:[],loading:true,};},computed:{},watch:{},created(){},mounted(){consttags=this.$refs["list"];//主要代码,监听元素是否出现constdoc=ne
- 页面初始化后,需要滚动到某个元素的位置,但是该元素尚未渲染完成。
外围前端吴彦祖
vue.jsjavascript前端
vue方式页面仍在渲染中,请稍后√目标元素渲染完成,进行滚动{{item.toString().padStart(5,"0")}}:{{set_title()}}模拟的渲染极慢的元素,index==={{index}}exportdefault{components:{},data(){return{list:[],loading:true,};},computed:{},watch:{},cre
- 标准库(日期)——将日期格式化为字符串
AwyaW1217
前端javascript开发语言
//将日期格式化为字符串//@params{Date}date要格式化的日期对象//@params{String}format格式化字符串yyyy-年MM-月dd-日HH-小时mm-分钟ss-秒ms-毫秒//@return{String}日期字符串functionformatDate(date,format){varyear=date.getFullYear().toString().padSta
- PADS VX 2.7安装记录
GBXLUO
PCBDSVX2.7PCB
PADS画PCB,Orcad用来画原理图,是一种常见的layoutPCB板的方式。一、资源:资源1:百度云安装包:PADSVX2.7提取码:dbjm二、安装2.1双击打开安装包在PADSVX2.7/PADSVX.2.7_ESDM文件夹下双击setup打开PADS安装包:2.2修改安装软件与路径2.3开始安装2.4安装完成:安装完成后,在开始菜单中可以找到PADS三剑客:PadsLayout:布局以
- PADS2.4版本,软件打开无法操作问题记录
Hello wl
硬件专栏硬件工程
小编将pads2.4软件打开后,放大和缩小不能使用,查找相关资料后汇总方法,如果有侵权请联系,谢谢,解决方法如下:方法1:设置微软键盘兼容性(小编设置过没有用)2、安装其他的输入法软件(小编未尝试);3、重新安装软件(小编用此办法解决问题,并且也设置了输入法,现在是能用具体的以此文档做记录,如果有其他好的办法还望各位大佬告知,嘿嘿);
- 硬件入门篇三 ·产品思维&PADS界面简介
思聪聪聪聪聪聪聪
硬件嵌入式硬件硬件工程
前言日常所见的电脑主板、电路板等,其设计的雏形都是一纸原理图,经过工程师不断的验证审核,然后根据结构工程师所出具的板卡文件,规定电路板的大小,在结合元器件的数量,预估成本决定板卡层数,最后才出厂打样板贴片回厂进行后续硬件测试。而且如果是新产品,最后结合软件测试不通过轻则小整改,重则推翻之前的设计重来,所以硬件工程师的培养可能花费不少的成本,这也提醒硬件工程师在实际工作中要细心,细心,再细心,每一次
- 第三章:SQL的函数
予安不会写博客
sqlandroid数据库
一、字符串函数MySQL中内置了很多字符串函数,常用的几个如下:selec函数;--concatselectconcat('Hello','MySQL');--lowerselectlower('HELLO');--Upperselectupper('hello');--lpadselectlpad('01',5,'');--rpadselectrpad('01',5,'-');--trimsel
- iOS集渐变、投影与圆角于一身的按钮
Lu_Ca
iOS日常问题iOS圆角iOS投影圆角和投影cornerRadius
日常代码中,提到圆角一般我们都会通过layer的几个属性设置Btn.layer.cornerRadius=k_FitIphoneIpadSize(25);Btn.layer.masksToBounds=YES;Btn.layer.borderWidth=k_FitIphoneIpadSize(2);Btn.layer.borderColor=RGB(232,232,232).CGColor;设置投
- Jetson Xavier NX设备上利用opencv进行多海康摄像头的捕获的部署方法
三木ぃ
AGXXavieropencv多摄像头读取视频gstreamer
GstreamerGStreamer的程序通过连接数字媒体处理的元素注入管道(pipeline)。每个元素是由一个插件提供。元素可组合为箱(bins),箱可以进一步聚合,从而形成架构图。下图是一个例子一个过滤器图表。元素沟通是透过垫(pads)。来源垫(sourcepad)上一个元素可以被连接到一个接收垫(sinkpad)在另一个。当管道是在播放状态,数据缓冲流(databuffersflow)从
- HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓
小邢同学
#Halcon示例程序解读与剖析halcon
HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓示例程序源码(加注释)关于显示类函数解释dev_update_pc(‘off’)dev_update_window(‘off’)dev_update_var(‘off’)read_image(Image,‘die_pads’)dev_close_window()get_image_s
- 分享一下PADS原理图PCB转AD,AD转立创EDA的流程
宽容人厚载物
pcb设计制作
关于原理图1.原理图在PADS上另存为txt文件2.在AD中打开文件->导入向导,在Description中找到.txt后缀的可转换文件行选中,一路next,即可打开原理图3.AD中将转换的txt原理图再次另存为ascii文件,在立创EDA中打开ADascii文件即可上述即完成PADS原理图转AD,AD转立创EDA的全部流程关于PCB1.PCB在PADS上另存为.asc文件2.在AD中打开asc文
- PADS Layout技巧
GBXLUO
PCBPads
PADSLayout(PowerPCB)整理了一些简单的使用技巧,可以快速上手,但是还是需要有相关的基础,比如知道Padslogic(画原理图)、padslayout(最主要layout平台)、padsrouter(差分对、蛇形走行等layout平台)三者的关系。padslayout百度云资源:包含四个版本:PADSVX2.2、PADSVX2.7、PADS9.5完全版以及一个PADSVX2.2绿色
- 循环打印当前时间的前七个小时
live for myself
Vue前端
padStart和padEnd是es6中新增的语法只能对字符串使用,是新增的方法不会修改原字符串str.padStart(MaxLength,‘填充的内容’)//当str的长度没有达到MaxLength,会将第二个参数填充到这个str前直到达到MaxLengthstr.padEnd(MaxLength,‘填充的内容’)//当str的长度没有达到MaxLength,会将第二个参数填充到这个str后直
- PADS 改变图纸和图页边界大小
qq_20312079
嵌入式硬件
PADS改变图纸和图页边界大小有时候画一画原理图发现画布不够用了,可改变图纸大小,对应的改变图页边界若图页边界怎么选择都改变不了,可将途中图页边界删除,重新加载选择对应的图页边距就好啦分类:PADS
- 根据ip及子网掩码得出网段
从南慕白
vuetcp/ip前端javascript
functioncalculateIPRange(ip,subnetMask){//将IP地址和子网掩码转换为二进制形式constipBinary=ip.split('.').map(part=>parseInt(part,10).toString(2).padStart(8,'0')).join('');constsubnetBinary=subnetMask.split('.').map(pa
- 字符串es6新方法
瑞破破
ES6引入了字符串补全长度的功能,如果某个字符串不够指定长度,会在头部活尾部补全。padStart和padEnd一共接受2个参数,第一个是用来指定字符串的最小长度,第二个参数是用来补全长度的字符串。padStart()用于头部补全;'x'.padStart(5,'ab')//'ababx''x'.padStart(4,'ab')//'abax'padEnd()用于尾部补全。'x'.padEnd(5
- MATLAB中padarray函数用法
jk_101
Matlabmatlab开发语言
目录语法说明示例向二维和三维数组添加填充值padarray函数的功能是填充数组。语法B=padarray(A,padsize)B=padarray(A,padsize,padval)B=padarray(___,direction)说明B=padarray(A,padsize)填充数组A,每个维度的填充量由padsize指定。padarray函数用值0填充数值或逻辑图像,用类别填充分类图像。默认情
- 白学的小知识[ES6新增操作字符串的七种方法.ES6模板字符串]
Chen-HaHa
es6前端javascript
ES6新增操作字符串的七种方法:1.includes()[重点]返回布尔值,判断是否找到参数字符串2.startsWith()返回布尔值,判断参数字符串是否在原字符串的头部3.endsWith()返回布尔值,判断参数字符串是否在原字符串的尾部4.repeat(number)返回新的字符串,表示将字符串重复指定次数返回5.padStart(总长度,“填充的字符串”)返回新的字符串,表示用参数字符串从
- PADS 9.5安装教程附安装包资源
软件小助手
安装教程其他
鼠标右击软件压缩包,选择“解压到PADS9.5”。打开解压后的文件夹,鼠标右击“PADS9.5_mib”选择“以管理员设身份运行”。点击“Next”。点击“Skip”。点击“Agree”。点击“Modify”。选择“ProductSelection”。
- 实现大数相加代码
我有一棵树
前端javascript开发语言
/****@param{*}str1字符串*@param{*}str2字符串*@returns*/functionaddBigNumber(str1,str2){constlength1=str1.length;constlength2=str2.lengthconstlength=Math.max(length1,length2)constarr1=str1.padStart(length,0)
- 实现大数相减,完整版
我有一棵树
前端javascript开发语言
functionsubstractBigNumber(str1,str2){constlen1=str1.lengthconstlen2=str2.lengthconstmaxLength=Math.max(len1,len2)constarr1=str1.padStart(maxLength,0).split('').map((item)=>Number(item))constarr2=str2
- windows下源码安装golang
616050468
golang安装golang环境windows
系统: 64位win7, 开发环境:sublime text 2, go版本: 1.4.1
1. 安装前准备(gcc, gdb, git)
golang在64位系
- redis批量删除带空格的key
bylijinnan
redis
redis批量删除的通常做法:
redis-cli keys "blacklist*" | xargs redis-cli del
上面的命令在key的前后没有空格时是可以的,但有空格就不行了:
$redis-cli keys "blacklist*"
1) "blacklist:12:
[email protected]
- oracle正则表达式的用法
0624chenhong
oracle正则表达式
方括号表达示
方括号表达式
描述
[[:alnum:]]
字母和数字混合的字符
[[:alpha:]]
字母字符
[[:cntrl:]]
控制字符
[[:digit:]]
数字字符
[[:graph:]]
图像字符
[[:lower:]]
小写字母字符
[[:print:]]
打印字符
[[:punct:]]
标点符号字符
[[:space:]]
- 2048源码(核心算法有,缺少几个anctionbar,以后补上)
不懂事的小屁孩
2048
2048游戏基本上有四部分组成,
1:主activity,包含游戏块的16个方格,上面统计分数的模块
2:底下的gridview,监听上下左右的滑动,进行事件处理,
3:每一个卡片,里面的内容很简单,只有一个text,记录显示的数字
4:Actionbar,是游戏用重新开始,设置等功能(这个在底下可以下载的代码里面还没有实现)
写代码的流程
1:设计游戏的布局,基本是两块,上面是分
- jquery内部链式调用机理
换个号韩国红果果
JavaScriptjquery
只需要在调用该对象合适(比如下列的setStyles)的方法后让该方法返回该对象(通过this 因为一旦一个函数称为一个对象方法的话那么在这个方法内部this(结合下面的setStyles)指向这个对象)
function create(type){
var element=document.createElement(type);
//this=element;
- 你订酒店时的每一次点击 背后都是NoSQL和云计算
蓝儿唯美
NoSQL
全球最大的在线旅游公司Expedia旗下的酒店预订公司,它运营着89个网站,跨越68个国家,三年前开始实验公有云,以求让客户在预订网站上查询假期酒店时得到更快的信息获取体验。
云端本身是用于驱动网站的部分小功能的,如搜索框的自动推荐功能,还能保证处理Hotels.com服务的季节性需求高峰整体储能。
Hotels.com的首席技术官Thierry Bedos上个月在伦敦参加“2015 Clou
- java笔记1
a-john
java
1,面向对象程序设计(Object-oriented Propramming,OOP):java就是一种面向对象程序设计。
2,对象:我们将问题空间中的元素及其在解空间中的表示称为“对象”。简单来说,对象是某个类型的实例。比如狗是一个类型,哈士奇可以是狗的一个实例,也就是对象。
3,面向对象程序设计方式的特性:
3.1 万物皆为对象。
- C语言 sizeof和strlen之间的那些事 C/C++软件开发求职面试题 必备考点(一)
aijuans
C/C++求职面试必备考点
找工作在即,以后决定每天至少写一个知识点,主要是记录,逼迫自己动手、总结加深印象。当然如果能有一言半语让他人收益,后学幸运之至也。如有错误,还希望大家帮忙指出来。感激不尽。
后学保证每个写出来的结果都是自己在电脑上亲自跑过的,咱人笨,以前学的也半吊子。很多时候只能靠运行出来的结果再反过来
- 程序员写代码时就不要管需求了吗?
asia007
程序员不能一味跟需求走
编程也有2年了,刚开始不懂的什么都跟需求走,需求是怎样就用代码实现就行,也不管这个需求是否合理,是否为较好的用户体验。当然刚开始编程都会这样,但是如果有了2年以上的工作经验的程序员只知道一味写代码,而不在写的过程中思考一下这个需求是否合理,那么,我想这个程序员就只能一辈写敲敲代码了。
我的技术不是很好,但是就不代
- Activity的四种启动模式
百合不是茶
android栈模式启动Activity的标准模式启动栈顶模式启动单例模式启动
android界面的操作就是很多个activity之间的切换,启动模式决定启动的activity的生命周期 ;
启动模式xml中配置
<activity android:name=".MainActivity" android:launchMode="standard&quo
- Spring中@Autowired标签与@Resource标签的区别
bijian1013
javaspring@Resource@Autowired@Qualifier
Spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource、 @PostConstruct及@PreDestroy。
1. @Autowired @Autowired是Spring 提供的,需导入 Package:org.springframewo
- Changes Between SOAP 1.1 and SOAP 1.2
sunjing
ChangesEnableSOAP 1.1SOAP 1.2
JAX-WS
SOAP Version 1.2 Part 0: Primer (Second Edition)
SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)
SOAP Version 1.2 Part 2: Adjuncts (Second Edition)
Which style of WSDL
- 【Hadoop二】Hadoop常用命令
bit1129
hadoop
以Hadoop运行Hadoop自带的wordcount为例,
hadoop脚本位于/home/hadoop/hadoop-2.5.2/bin/hadoop,需要说明的是,这些命令的使用必须在Hadoop已经运行的情况下才能执行
Hadoop HDFS相关命令
hadoop fs -ls
列出HDFS文件系统的第一级文件和第一级
- java异常处理(初级)
白糖_
javaDAOspring虚拟机Ajax
从学习到现在从事java开发一年多了,个人觉得对java只了解皮毛,很多东西都是用到再去慢慢学习,编程真的是一项艺术,要完成一段好的代码,需要懂得很多。
最近项目经理让我负责一个组件开发,框架都由自己搭建,最让我头疼的是异常处理,我看了一些网上的源码,发现他们对异常的处理不是很重视,研究了很久都没有找到很好的解决方案。后来有幸看到一个200W美元的项目部分源码,通过他们对异常处理的解决方案,我终
- 记录整理-工作问题
braveCS
工作
1)那位同学还是CSV文件默认Excel打开看不到全部结果。以为是没写进去。同学甲说文件应该不分大小。后来log一下原来是有写进去。只是Excel有行数限制。那位同学进步好快啊。
2)今天同学说写文件的时候提示jvm的内存溢出。我马上反应说那就改一下jvm的内存大小。同学说改用分批处理了。果然想问题还是有局限性。改jvm内存大小只能暂时地解决问题,以后要是写更大的文件还是得改内存。想问题要长远啊
- org.apache.tools.zip实现文件的压缩和解压,支持中文
bylijinnan
apache
刚开始用java.util.Zip,发现不支持中文(网上有修改的方法,但比较麻烦)
后改用org.apache.tools.zip
org.apache.tools.zip的使用网上有更简单的例子
下面的程序根据实际需求,实现了压缩指定目录下指定文件的方法
import java.io.BufferedReader;
import java.io.BufferedWrit
- 读书笔记-4
chengxuyuancsdn
读书笔记
1、JSTL 核心标签库标签
2、避免SQL注入
3、字符串逆转方法
4、字符串比较compareTo
5、字符串替换replace
6、分拆字符串
1、JSTL 核心标签库标签共有13个,
学习资料:http://www.cnblogs.com/lihuiyy/archive/2012/02/24/2366806.html
功能上分为4类:
(1)表达式控制标签:out
- [物理与电子]半导体教材的一个小问题
comsci
问题
各种模拟电子和数字电子教材中都有这个词汇-空穴
书中对这个词汇的解释是; 当电子脱离共价键的束缚成为自由电子之后,共价键中就留下一个空位,这个空位叫做空穴
我现在回过头翻大学时候的教材,觉得这个
- Flashback Database --闪回数据库
daizj
oracle闪回数据库
Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。
在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Query,Flashbac
- 简单排序:插入排序
dieslrae
插入排序
public void insertSort(int[] array){
int temp;
for(int i=1;i<array.length;i++){
temp = array[i];
for(int k=i-1;k>=0;k--)
- C语言学习六指针小示例、一维数组名含义,定义一个函数输出数组的内容
dcj3sjt126com
c
# include <stdio.h>
int main(void)
{
int * p; //等价于 int *p 也等价于 int* p;
int i = 5;
char ch = 'A';
//p = 5; //error
//p = &ch; //error
//p = ch; //error
p = &i; //
- centos下php redis扩展的安装配置3种方法
dcj3sjt126com
redis
方法一
1.下载php redis扩展包 代码如下 复制代码
#wget http://redis.googlecode.com/files/redis-2.4.4.tar.gz
2 tar -zxvf 解压压缩包,cd /扩展包 (进入扩展包然后 运行phpize 一下是我环境中phpize的目录,/usr/local/php/bin/phpize (一定要
- 线程池(Executors)
shuizhaosi888
线程池
在java类库中,任务执行的主要抽象不是Thread,而是Executor,将任务的提交过程和执行过程解耦
public interface Executor {
void execute(Runnable command);
}
public class RunMain implements Executor{
@Override
pub
- openstack 快速安装笔记
haoningabc
openstack
前提是要配置好yum源
版本icehouse,操作系统redhat6.5
最简化安装,不要cinder和swift
三个节点
172 control节点keystone glance horizon
173 compute节点nova
173 network节点neutron
control
/etc/sysctl.conf
net.ipv4.ip_forward =
- 从c面向对象的实现理解c++的对象(二)
jimmee
C++面向对象虚函数
1. 类就可以看作一个struct,类的方法,可以理解为通过函数指针的方式实现的,类对象分配内存时,只分配成员变量的,函数指针并不需要分配额外的内存保存地址。
2. c++中类的构造函数,就是进行内存分配(malloc),调用构造函数
3. c++中类的析构函数,就时回收内存(free)
4. c++是基于栈和全局数据分配内存的,如果是一个方法内创建的对象,就直接在栈上分配内存了。
专门在
- 如何让那个一个div可以拖动
lingfeng520240
html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml
- 第10章 高级事件(中)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 计算两个经纬度之间的距离
roadrunners
计算纬度LBS经度距离
要解决这个问题的时候,到网上查了很多方案,最后计算出来的都与百度计算出来的有出入。下面这个公式计算出来的距离和百度计算出来的距离是一致的。
/**
*
* @param longitudeA
* 经度A点
* @param latitudeA
* 纬度A点
* @param longitudeB
*
- 最具争议的10个Java话题
tomcat_oracle
java
1、Java8已经到来。什么!? Java8 支持lambda。哇哦,RIP Scala! 随着Java8 的发布,出现很多关于新发布的Java8是否有潜力干掉Scala的争论,最终的结论是远远没有那么简单。Java8可能已经在Scala的lambda的包围中突围,但Java并非是函数式编程王位的真正觊觎者。
2、Java 9 即将到来
Oracle早在8月份就发布
- zoj 3826 Hierarchical Notation(模拟)
阿尔萨斯
rar
题目链接:zoj 3826 Hierarchical Notation
题目大意:给定一些结构体,结构体有value值和key值,Q次询问,输出每个key值对应的value值。
解题思路:思路很简单,写个类词法的递归函数,每次将key值映射成一个hash值,用map映射每个key的value起始终止位置,预处理完了查询就很简单了。 这题是最后10分钟出的,因为没有考虑value为{}的情