SQL2个查询结果然后进行关联查询
简书链接:SQL2个查询结果然后进行关联查询文章字数:27,阅读全文大约需要1分钟 12 select a.LineNo,b.LineNo from (select NO,LineNo from A WHERE LineNo LIKE '%-1') a inner join (select NO,LineNo from B WHERE LineNo LIKE '%-2') b on a.NO=b.NO 这里找出no相等但是 lineno既包含-1 又包含-2的结果集
sqlserver打印任何类型变量遇到空不打印处理拼接细节
简书链接:sqlserver打印任何类型变量遇到空不打印处理拼接细节文章字数:132,阅读全文大约需要1分钟如果先isnull 然后 转换为 字符串 isnull()后面的参数就必须和前面参数一样,因此遇到 数值类型 必须默认给定数值类型的默认值,但是我做了一个自动化 不知道他类型 遇到空 @a int isnull(@a,‘’)就会报错,经过测试先用cast 或者convert转字符串 然后再处理空 12345678print('@xxx'+CONVERT(VARCHAR(30), @Qty))print(' cast null number '+CAST( @Qty as varchar(100))) print(' cast null number to str after isnull '+isnull(CAST( @Qty as varchar(100)),'')) print('cast 1 : '+CAST( 1 as varchar(100))) ...
openwrt软件空间不足进行扩容
简书链接:openwrt软件空间不足进行扩容文章字数:428,阅读全文大约需要1分钟此方法扩容非 那个挂载的方式扩容,更可靠稳定。 12opkg updateopkg install parted losetup resize2fs 参考[OpenWrt 维基]扩展根分区和文件系统新建expand-root.sh 12345678910111213141516171819202122232425262728293031323334353637383940414243444546# Configure startup scriptscat << "EOF" > /etc/uci-defaults/70-rootpt-resizeif [ ! -e /etc/rootpt-resize ] \&& type parted > /dev/null \&& lock -n /var/lock/root-resizethenROOT_BLK="$(readlink -f...
openwrt镜像源
简书链接:openwrt镜像源文章字数:270,阅读全文大约需要1分钟官方找不到包的时候还是改成官方的吧。比如下图的坑 123456src/gz openwrt_core http://downloads.openwrt.org/snapshots/targets/x86/64/packagessrc/gz openwrt_base http://downloads.openwrt.org/snapshots/packages/x86_64/basesrc/gz openwrt_luci http://downloads.openwrt.org/releases/18.06.9/packages/x86_64/lucisrc/gz openwrt_packages http://downloads.openwrt.org/snapshots/packages/x86_64/packagessrc/gz openwrt_routing http://downloads.openwrt.org/snapshots/packages/x86_64/routing 阿里x86...
OPENWRT升级全部包
简书链接:OPENWRT升级全部包文章字数:780,阅读全文大约需要3分钟opkg update 1opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade 遇到了坑可以在这里讨论下, 此方法有风险,也可以直接 提取opkg list-upgradable然后批量替换为空格 ,分割删除 后面,然后前面加入加入命令...
不懂数学也能算,网络ipabc类地址子网掩码规则表示从网络位看穿子网掩码
简书链接:不懂数学也能算,网络ipabc类地址子网掩码规则表示从网络位看穿子网掩码文章字数:988,阅读全文大约需要3分钟下图有一vpn的内网路由表映射我发现他的c类不是我们那种192.168.1.0/24所以好奇进行了研究。 /后面描述的是网络位 ,主机位 是 从0开始的位置所以192.168.0.0 是 256*256=65536-1个主机位。而我们路由器默认都是1到255 子网掩码是255.255.255.01.子网掩码代表网络位255.255.255.0 = 8 +8 +8=24255.255.0.0 =16255.0.0.0=8 192.168.1.0 255.255.255.0 故可以描述为192.168.1.0/24 192.168.1.0/32 则代表子网全是255.255.255.255 可以看到192.168.0.0/16代表的主机又65535 而不是256 个, 172.16.0.0/12 推算子网掩码实际上12描述的就是这个前面12个为1...
用别人的封装,不去理解获取会让人变笨,关于c存储过程参数多种姿势设置参数问题分析
简书链接:用别人的封装,不去理解获取会让人变笨,关于c存储过程参数多种姿势设置参数问题分析文章字数:804,阅读全文大约需要3分钟这本是一个很简单很简单的问题,但是经过别人层层封装,晕头转向,搞不懂为何搞那么多麻烦的操作。当时保持能用就不改动原则直接套用,后面随着 发现了一个巨大的bug。。。。学了太多语言的我不能忽视这个问题,让我不得不去看看c#原始api是怎么设置的, 参数设置 1new SqlParameter("@XXX", SqlDbType.VarChar, 50, VALUE) 经常看到有这种,当然这玩意不是我写的,但是我是做安卓开发得吧别人c#窗体代码转c#接口,我保持能不动就不动的原则,就很尴尬,就这样搞出了很多问题,把a当做b 把b当做a,看起来简单的容易理解的东西但是却让人混淆了官方api的正确用法,【人家说我叫sourcecolumn,你说这叫值, 】这种方法本身不对的,第4个 参数是sourcecolumn,但是为啥可以,那是因为内部吧sourcecloumn赋值给了value,也是为了偷懒传参吧。 因此参数设置有很多种另外 ...
SonoffTasmota固件刷入
简书链接:SonoffTasmota固件刷入文章字数:218,阅读全文大约需要1分钟之前网上找的一个教程过时了,后面找到了一个比较ok的文章,这个在线刷入的,很快上车了。直接connect 然后各种下一步...