首页
归档
关于
友情链接
Search
1
clash for windows允许局域网连接,TAP和TUN模式
107,662 阅读
2
使用emby打造个人影视媒体库
25,312 阅读
3
解决kodi的emby插件无法找到文件...相对路径、绝对路径问题
11,059 阅读
4
Ubuntu to go/Linux to go/将linux系统安装到u盘或移动硬盘
9,070 阅读
5
魔改版rclone挂载世纪互联onedrive
5,095 阅读
技术
软件
文章
其他
登录
Search
标签搜索
sql
代理
sqlserver
Oracle
onedrive
软件
magisk
vps
ftp
TrafficMonitor
TranslucentTB
nfo
emby
qBittorrent
emby for kodi插件
emby插件
Transmission Remote GUI
transmission
优选ip
世纪互联rclone
旁逸斜出
累计撰写
37
篇文章
累计收到
90
条评论
首页
栏目
技术
软件
文章
其他
页面
归档
关于
友情链接
搜索到
18
篇与
的结果
2021-08-17
Sqlserver中0和空字符串相等的问题
今天在SQL server中写存储过程时遇到一种0和空字符串相等的问题。场景:表A有value1(varchar)和value2(int)两个字段,现在插入一条新的数据(v1,v2),如果v1已存在,则给value2加上v2,若v1不存在则插入新的(v1,v2)(这个逻辑用merge into会更好些)开始我是这么写的declare @flag=int select @flag=value2 from A where A.value1=v1 if(@flag='') insert into ... else update A...但是这样是有问题的,当查询不到这条数据时,确实会插入,但是当value2=0的时候,这么写它依然会执行insert,也就是0='',可以通过下面的存储过程验证一下:CREATE PROCEDURE TEST AS BEGIN declare @a int declare @b varchar set @a=0 set @b=0 if(@a='') print('int a') if(@b='') print('varchar b') END GO然后执行会发现输出为 int a ,原因在于varchar和int是存在隐式转换的,导致转换之后0和空字符串变成了相等的。参考:https://www.cnblogs.com/liubaolongcool/archive/2011/08/24/2152552.html
2021年08月17日
212 阅读
0 评论
0 点赞
2021-04-25
excel技巧
excel拆分场景:excel现在有100万条数据,需要拆分成多张表。参考:https://www.cnblogs.com/jiujian/p/12642662.html1.在sheet页右击选择查看代码,或者按ALT+F11进入VBA命令界面,粘贴如下代码:拆分行数和路径自行设置,bt=1可以控制标题行数2.返回sheet页按ALT+F8,点击执行Sub cfb() Dim r, c, i, WJhangshu, WJshu, bt As Long r = Range("A" & Rows.Count).End(xlUp).Row c = Cells(1, Columns.Count).End(xlToLeft).Column bt = 1 'title WJhangshu = 250 '行数 WJshu = IIf(r - bt Mod 20000, Int((r - bt) / WJhangshu), Int((r - bt) / WJhangshu) + 1) For i = 0 To WJshu Workbooks.Add Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(i, String(Len(WJshu), 0)) & ".xlsx" '路径 Application.DisplayAlerts = True ThisWorkbook.ActiveSheet.Range("A1").Resize(bt, c).Copy ActiveSheet.Range("A1") ThisWorkbook.ActiveSheet.Range("A" & bt + i * WJhangshu + 1).Resize(WJhangshu, c).Copy _ ActiveSheet.Range("A" & bt + 1) ActiveWorkbook.Close True Next End Sub筛选重复或唯一数据开始--条件格式--突出显示单元格规则--重复值(其中也可以设置唯一值的显示规则),之后可以在条件格式的管理规则里面删除或定义更多规则筛选某列数据在另一列中不存在的参考:https://zhidao.baidu.com/question/2137999315270054628.html假设筛选A列有,B列没有的数据:在C1单元格输入公式=IF(COUNTIF(B:B,A1)>0,"B列有","B列没有"),回车,然后在C1单元格右下角,出现“+”后,双击或下拉即可。
2021年04月25日
388 阅读
2 评论
0 点赞
2021-02-27
Oracle数据库日期格式处理,计算年龄
基本格式系统时间 SELECT sysdate FROM dual; 格式转换字符串转日期SELECT to_date('2021/2/27 15:52:15', 'YYYY-MM-DD HH24:MI:SS') from dual; --2021/2/27 15:52:15 SELECT to_date('2021-02-27 15:52:15', 'YYYY-MM-DD HH24:MI:SS') from dual; --2021/2/27 15:52:15 SELECT to_date('2021-02', 'YYYY-MM') from dual; --2021/2/1 SELECT to_date('2021', 'YYYY') from dual; --2021/2/1如果省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。 如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。 同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月(2021/2/1)。 但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年(2021/1/1),而是取整到系统当前月日期转字符串SELECT to_char(sysdate,'yyyy-mm-dd') FROM dual; --2021-02-27 SELECT to_char(sysdate,'dd-mm-yyyy') FROM dual; --27-02-2021其他计算命令计算本年天数 SELECT add_months(trunc(sysdate,'yyyy'),12)-trunc(sysdate,'yyyy') FROM dual; 1.oracle的时间差是以天数为单位的 2.add_months函数有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为单位的) 3.trunc函数,可以截取日期,也可以截取数字 TRUNC(date[,fmt]) 其中: date 一个日期值;fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 下面是该函数的使用情况: trunc(sysdate,'yyyy') --返回当年第一天. trunc(sysdate,'mm') --返回当月第一天. trunc(sysdate,'d') --返回当前星期的第一天.判断闰年,LAST_DAY函数返回指定日期对应月份的最后一天 SELECT to_char(last_day(to_date(2020 || '02', 'yyyymm')), 'dd') FROM dual --29则为闰年某月的第一天,最后一天 SELECT trunc(sysdate,'mm'),last_day(trunc(sysdate,'mm')) FROM dual;前一个月最后一天 SELECT trunc(to_date('20210131','yyyy-mm-dd'),'mm')-1 FROM dual; SELECT to_date(substr('20210131',1,6),'yyyy-mm')-1 FROM dual;计算某个人的年龄 SELECT trunc(months_between(sysdate,to_date('19980401','yyyymmdd'))/12) FROM dual; SELECT floor(months_between(sysdate,to_date('19980401','yyyymmdd'))/12) FROM dual; MONTHS_BETWEEN函数返回两个日期之间的月份数。 格式:MONTHS_BETWEEN(DATE1,DATE2) trunc函数在截取数字时,不对指定小数前或后的部分做相应舍入选择处理。 TRUNC(number[,decimals]) 其中: number 做截取处理的数值 decimals 指明需保留小数点后面的位数。忽略它则截去所有的小数部分。 例: SELECT trunc(123.123,1) FROM dual; --123.1 SELECT trunc(123.123) FROM dual; --123 SELECT trunc(123.123,-1) FROM dual; --120 SELECT trunc(123.123,-2) FROM dual; --100 SELECT trunc(123.123,-3) FROM dual; --0 floor函数,对应的有ceil函数 ceil(n) 取大于等于数值n的最小整数 floor(n)取小于等于数值n的最大整数附: Sqlserver日期格式处理
2021年02月27日
724 阅读
0 评论
0 点赞
2020-11-01
Ubuntu to go/Linux to go/将linux系统安装到u盘或移动硬盘
将linux系统安装到u盘或者移动硬盘,就可以随身携带系统,在别人甚至网吧的电脑上使用自己的系统。Windows此功能叫Windows To Go这里以将ubuntu系统安装到u盘为例,其实和装双系统类似,只是装到了u盘而已。准备工作:1.准备2个u盘,1个启动盘(a盘),1个打算将系统安装到的u盘,根据个人需求选择空间大小和读写速度(b盘)2.下载ubuntu镜像,这里是所有的镜像:https://releases.ubuntu.com/,或者直接下载最新的20.04.1LTS(截至2020.11.1):https://ubuntu.com/download/desktop3.下载ventoy:https://www.ventoy.net/cn/download.html,用以制作启动盘步骤:图只是为了说明步骤,并不是同一个u盘1.格式化a、b盘2.打开Windows的磁盘管理,选中b盘,也就是需要安装系统的u盘,右键--压缩卷,完成之后这个磁盘空间会变成黑色边框。3.下载ventoy并解压,运行Ventoy2Disk.exe,设备选择aU盘,点击安装等待安装完成,然后把ubuntu镜像复制进U盘,这样启动盘就制作完成了。详细教程可以参考:https://www.ventoy.net/cn/doc_start.html (ventoy非常好用,还可以用来制作windows等其他系统的引导盘,只需要把相应的ISO镜像文件复制进u盘即可,而且它还支持往u盘继续存储其他文件而不影响引导功能)4.重启电脑,选择从usb设备(a硬盘)启动(不同电脑按键不同),进入之后选择Try Ubuntu without install(20.04就直接是Ubuntu),打开桌面上的Install Ubuntu,选择语言什么的不详述了,更新和其他软件这里“为图形或无线硬件,以及其他媒体安装第三方软件”可选可不选。到安装类型选择,一定要选择其他选项,然后就进入了分区的环节了,按大小很容易可以找到b盘,是空闲的,给b盘进行分区。这里默认电脑是UEFI引导(只有很老的电脑是legacy引导,具体参考https://blog.csdn.net/suifenghahahaha/article/details/79710023,下面的安装启动引导器的设备选择也不同)我的分区方案(128Gu盘,电脑8G内存),仅供参考 efi 500m 逻辑分区 空间起始位置 EFI系统分区 / 20G 主分区 空间起始位置 Ext4 swap 4G 逻辑分区 空间起始位置 交换空间 /home 剩余 逻辑分区 空间起始位置 Ext4 下面的安装启动引导器的设备选择设置的efi分区 开始我设置了/boot分区1G,后来启动失败了,便删掉了/boot分区,装好之后发现是因为我的电脑装了refind,导致/boot分区1G空间不够。其实也可以只设置一个/分区,让系统自动来分区,这样做的风险是假如某个分区崩了,别的分区也就崩了,手动分区假如系统分区崩了,还可以重新挂载/home,就好像Windows所有东西都装c盘,重装系统会覆盖掉c盘的所有文件,但要是分了D、E盘,D、E盘不受影响。接着选择时区、设置名字什么的。等安装完成,就可以重启电脑,从usb(b盘)启动Ubuntu。这样一个可以移动的系统就做好了,在别的电脑上从u盘启动也可以进到自己的Ubuntu系统。如果装了两三个小时还完成不了,或者安装完成后启动失败,考虑换个u盘。碰到过:gvfsd-metadata[2318]: g_udev_device_has_property: assertion 'G_UDEV_IS_DEVICE (device)' failed然后装了一个小时装不好。
2020年11月01日
9,070 阅读
5 评论
1 点赞
2020-07-23
Oracle Live SQL——SQL在线练习平台
以前学习数据库时装的Microsoft SQL Server,装起来很麻烦。最近发现了Oracle的SQL在线学习平台,单就学习数据库而言非常方便。网址:https://livesql.oracle.com/点击Sign In登录Oracle账号,没有的话就注册一个。如果不想自己写语言新建数据库,在Code Library 里面有别人上传的脚本,选一个直接Run Script,然后就可以在SQL Worksheet写SQL语句练习起来了。除此之外,你还可以管理和分享自己写的脚本等。
2020年07月23日
2,393 阅读
0 评论
1 点赞
1
2
3
4