1.为什么"foo".Equals()不是好做法?因为当正确的写法是"foo".Equals(obj.value),却写成了"foo".Equals(obj),不会出现错误提示,从而成为一个隐蔽的bug

2.从stacktrace里提取行号:

var st = new System.Diagnostics.StackTrace(e.Error, true);
var lineNo = st.GetFrame().GetFileLineNumber();
MessageBox.Show(this, e.Error.TargetSite.ReflectedType.FullName + Environment.NewLine + e.TargetSite.Name

3.ie 6.0以后的版本,http://username:password@abc.com 这样的写法不允许了。

变通办法:

var request = new ActiveXObject('msxml2.xmlhttp');
var url = 'myurl';
request.open('GET', url, false, username, password);
window.top.location.href= url;

4.选择符合5个条件中的两个的记录

select * from T3
where
(
case when lid = @lid then 1 else 0 end +
case when lname = @lname then 1 else 0 end +
case when lpass = @lpass then 1 else 0 end +
case when ltouxiang = @ltouxiang then 1 else 0 end +
case when lxingbie = @lxingbie then 1 else 0 end ) = 3

5.sql server:只拷贝表结构,不拷贝数据

select * into tbl2 from tbl where 1 = 0

值得一提的是select into这种写法并不提倡,有可能会搞乱tempdb,另外,有时会有怪异的行为。

6.去掉最大和最小值后再算平均值:

select avg(sal)
from emp
where sal not in (
(select min(sal) from emp),
(select max(sal) from emp)
)

7.sql server的一个问题:

declare @foo int
set @foo = null
select case when @foo is null then 'bar' else <某个日期类型的字段> end as abc

会报错:

Conversion failed when converting date and/or time from character string.

但是,如果@foo 不是null,就不会报错。

8.cte感觉性能很差,宁可用物理表。而且很多情况下,物理表的性能比临时表(#temp这样的)好。在一个存储过程中,把临时表改成物理表,原来要两小时,现在只要10分钟。另外一个应用里,开始用cte实现分页,后来改成用物理表,性能提高了两倍。

9.匿名函数的一个问题:

Action foo = (bar) => {
bar = new Bar();
} Bar bar2 = null;
foo(bar2);

bar2 还是null,下面这样写才不是null:

bar = new Bar();
bar2 = bar;

10. 找某表所有相关的外键

select t.name as TableWithForeignKey, fk.constraint_column_id as FK_PartNo , c.name as ForeignKeyColumn
from sys.foreign_key_columns as fk
inner join sys.tables as t on fk.parent_object_id = t.object_id
inner join sys.columns as c on fk.parent_object_id = c.object_id and fk.parent_column_id = c.column_id
where fk.referenced_object_id = (select object_id from sys.tables where name = 'Complaint')
order by TableWithForeignKey, FK_PartNo

找外键列名:

select distinct name from sys.objects where object_id in
( select fk.constraint_object_id from sys.foreign_key_columns as fk
where fk.referenced_object_id =
(select object_id from sys.tables where name = 'Complaint')
)

C#,js和sql实用技巧选2的更多相关文章

  1. C#,js和sql实用技巧选1

    我刚开始.net 开发的那几年,差不多每天坚持搜集实用的技巧和代码片断.几年下来也搜集了上千条.现在选出一些不太容易找或者自己有较多体会的,写在这里.内容太多,分两次发. 1.上传文件超过设置允许的最 ...

  2. js 处理URL实用技巧

    escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤.     但后两者是将字符串转换为UTF-8的方式来传输,解决了 ...

  3. SQL实用技巧:如何将表中某一列的部分数据合并到一行中

    select *,stuff(select ‘,’ + fieldname from table1 for xml path(”)),1,1,”)  as  field from table2 for ...

  4. SQL实用技巧:如何分割字符串

    create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as beg ...

  5. SQL实用技巧:如何判断一个值是否为数字的方法

    检测是不是数字型的数据, 两种方法 1. ISNUMERIC ( expression ) 2. PATINDEX ( ‘%pattern%‘ , expression ) 1. ISNUMERIC  ...

  6. js基础进阶--编码实用技巧(二)

    我的个人博客:http://www.xiaolongwu.cn 接上篇文章 js编码的实用技巧(一) 5.合理利用||运算符 使用||可以作为参数之外的默认值,当第一个参数返回值为false时,那么第 ...

  7. js基础进阶--编的实用技巧(一)

    我的个人博客:http://www.xiaolongwu.cn 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果. 下面总结几种简单的技巧,大家共同学习一下 1. 利用+.-./ ...

  8. .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中

    目录 .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中 前言 笔者最近在开发和维护一个.NET Core项目,其中使用几个非常有意思的.NET Core相关的扩展,在 ...

  9. 【JavaScript实用技巧(二)】Js操作DOM(由问题引发的文章改版,新人大佬都可)

    [JavaScript实用技巧(二)]Js操作DOM(由问题引发的文章改版,新人大佬都可!) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人 ...

随机推荐

  1. 题解 洛谷 P4602 【[CTSC2018]混合果汁】

    注意到问题具有单调性,所以一个询问可以通过二分答案来解决. 对于多组询问,就采用整体二分来处理. 将果汁按\(d\)从大到小排序,二分出一个位置\(mid\),只考虑在位置\(mid\)之前的果汁,其 ...

  2. linux中neovim+tmux安装与配置遇到的问题

    Neovim 安装与配置 安装 pip3 install neovim 之前安装过anaconda,默认安装python3和pip3 检查状态 :checkhealth 终端输入'nvim' 进入nv ...

  3. Docker 概念-2

    Docker 是什么? 说了这么多, Docker 到底是个什么东西呢?我们在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机. 可能很多读者朋友都用过虚拟机,而对容器这个概念比较的陌 ...

  4. 手动触发浏览器resize

    今天做echarts图表 发现饼图不能居中,resize之后才会居中. 于是想手动触发resize方法,但是不改变浏览器窗口 JQ $(window).trigger('risize'); JS    ...

  5. 第四章 常用API(下)

    4.1.String类 描述:该类代表字符串 构造方法: 方法 描述 public String() 初始化构造一个空白字符串 public String(char[] value) 通过字符数组初始 ...

  6. 《闲扯Redis九》Redis五种数据类型之Set型

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...

  7. PHP sort() 函数

    实例 对数组 $cars 中的元素按字母进行升序排序: <?php $cars=array("Volvo","BMW","Toyota" ...

  8. PHP curl_version函数

    (PHP 5 >= 5.5.0) curl_version — 获取cURL版本信息. 说明 array curl_version ([ int $age = CURLVERSION_NOW ] ...

  9. SpringBoot集成Elasticsearch7.6

    前言: 本文不赘述Elasticsearch的相关基础知识点和部署,只介绍如何在SpringBoot如何集成Elasticsearch并进行数据操作 Spring Data项目中提供了操作es的框架S ...

  10. odoo13之文件预览widget/模块

    本文示例代码可查看github仓库:odoo13_file_preview 文件预览效果图展示 效果描述: 1.当点击图片或者文件时展开图片. 2.当点击关闭按钮时关闭图片预览. 3.当点击下载按钮时 ...