T-SQL中的一些小陷阱】的更多相关文章

1,当心ISNULL函数对你的逻辑引起BUG 有人喜欢或者习惯于(并不代表我推荐,甚至这种写法没有任何好处)用ISNULL处理变量这种方式写查询 比如:select * from TestISNULL where name = ISNULL(@name,name) @name相当于传入到存储过程中的参数,如果@name为null, 相当于:select * from TestISNULL where name = name,看起来恒成立,是真的吗? 目的是在@name为null的时候,这个查询条…
每天写代码,偶尔就会有让你抓狂的时候:代码改了千百遍,蓦然回首,Bug就在灯火阑珊处……这里就列举一些容易犯错的几个小地方,以后遇到了其他的,再慢慢添加.   1. 获取程序当前运行路径   情景复现:WPF客户端程序,开机自启动后无法进入主界面,卡在初始屏(Splash Screen)   处理问题:通过日志发现加载一个icon的时候,跳了一个Bug.初始代码如下: var icon = new Icon("Images\\xxx.ico"); 很简单,貌似不会有问题,相对目录且正确…
想必大部分学过java的人都应该做过这种题目: public class Test { public static void main(String[] args) { //第一个字符串 String s1="hello"; //第二个字符串 String s2="hello"; //比较s1和s2是否相同 System.out.println(s1==s2); /** * 修改变量 */ s1=new String("hello"); s2=n…
C++开发的项目难免会用到STL的string,使用管理都比char数组(指针)方便的多,但在得心应手的使用过程中也要警惕几个小陷阱,避免我们项目出bug却迟迟找不到原因. 1.  结构体中的string赋值问题 直接通过一个例子说明,下面的例子会输出什么: #include <iostream> #include <string> #include <stdlib.h> using namespace std; struct flowRecord { string a…
本篇内容主要来自Unity官方手册: 一般性能优化 一些地方为本人瞎编杜撰,请酌情参考.如有错误,欢迎指出. Unity里C#编程虽然既简单还很爽,但是性能小陷阱还不少.我总强迫自己让代码最优,因此很留意这些细节.这里我记录了一下最近发现的一下优化点.   协程 别嵌套 协程( Coroutine )固然爽,我用起来可得心应手了,刷刷刷,平滑动画,等待加载,定时启动…… 官方的意见是: 在可能的情况下,最好将一系列操作压缩到尽可能少协程.虽然嵌套协程非常适合代码清晰度和维护,但由于协程跟踪对象,…
作者:陆斌文章来自微信公众号:平台人生 内容简介:ESXi与物理交换机之间配置静态链路聚合时,因为静态链路聚合的特点,在进行down网卡和从虚拟交换机移除网卡的操作时,可能会无法完成故障流量切换,影响到虚拟机的运行.本文对其中的原理进行了分析. 链路聚合(link aggregation)是将多个物理端口绑定为单一逻辑组的行为.在日常应用中,链路聚合的配置模式有两种:静态模式和动态模式.动态聚合的链路聚合,即大名鼎鼎的LACP,不再多做介绍,这里我们主要聊聊静态模式的链路聚合.静态模式,顾名思义…
文章目录 NULL 即是空 三值逻辑 空值比较 NOT IN 与空值 函数与空值 DISTINCT.GROUP BY.UNION 与空值 ORDER BY 与空值 空值处理函数 字段约束与空值 SQL 是一种声明式的语言,我们只需要描述想要的结果(WHAT),而不关心数据库如何实现(HOW):虽然 SQL 比较容易学习,但是仍然有一些容易混淆和出错的概念. 今天我们就来说说 SQL 中的空值陷阱和避坑方法,涉及的数据库包括 MySQL.Oracle.SQL Server.PostgreSQL 以…
工作中我经常写sql,当写带in的语句时,需要敲好多单引号,逗号,敲写起来容易易出错.因此,我写了一个小工具,处理这种繁琐工作.原理简单,利用正则表达式匹配.替换. 先看界面,一个html页面,包含三个js函数.下面我会一一介绍: 一. sql_in()按钮 为多个字符串加上单引号和逗号,结果可以直…
在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类型以及小陷阱: # coding=utf-8 def append_item(item, list1=[]): list1.append(item) return list1 print(append_item((1))) # [1] print(append_item((2))) # [1, 2]…
基于SQL中SET与SELECT赋值的区别详解 2012年09月06日 ⁄ 综合 ⁄ 共 912字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近的项目写的SQL比较多,经常会用到对变量赋值,而我使用SET和SELECT都会达到效果.那就有些迷惑,这两者有什么区别呢?什么时候哪该哪个呢?经过网上的查询,及个人练习,总结两者有以下几点主要区别:假定有设定变量: 复制代码 代码如下: DECLARE @VAR1 VARCHAR(1) DECLARE @VAR2 VARCHAR(2) 1.SELECT可以在…