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. 小特跨境电商ERP桌面版 1.不止包括进销存 还能算毛利

    经过近几年跨境电商ERP的开发,加上对跨境电商行业的业务积累,开发出一套适合中小跨境电商公司使用的ERP软件.欢迎选购.支持目前流行的各大电商平台,如速卖通.敦煌网.亚马逊.Shopee.Wish等. ...

  2. pdfmake.js使用及其源码分析

    公司项目在需要将页面的文本导出成DPF,和支持打印时,一直没有做过这样的功能,花了一点时间将其做了出来,并且本着开源的思想和技术分享的目的,将自己的编码经验分享给大家,希望对大家有用. 现在是有一个文 ...

  3. JAVA基础(jdk安装和环境变量的配置)

    JAVA 1.何为JAVA Java的发展可以归纳如下的几个阶段. (1)第一阶段(完善期):JDK 1.0 ( 1995年推出)一JDK 1.2 (1998年推出,Java更名为Java 2): ( ...

  4. 萌新学渗透系列之Hack The Box_Lame

    我将我的walkthrough过程用视频解说的形式记载 视频地址https://www.bilibili.com/video/BV1Mv411z75c 一是因为看我视频的后来者应该都是刚入门的新手,视 ...

  5. mongodb因为上一次异常关闭导致锁死,连接失败

    之前一直可以用,但是突然在启动node,服务端的时候报错,(下面的错误信息都是复制的网上的报错信息,刚才忘记截图错误信息了,现在已经解决问题) 这是服务端的报错 (node:17453) Unhand ...

  6. luogu P5325 Min_25筛

    LINK:Min_25筛 新版感觉有点鬼畜 而且旧版的也够用了至少. 这个并不算很简单也不算很困难的知识点 学起来还是很麻烦的. (误入了很多dalao的blog 说的云里雾里的 甚是懵逼 这里推荐几 ...

  7. 转)Understanding Java Memory Management

    Understanding Java Memory Management - IBM Java Native Interface (JNI) Objects and Code Java Native ...

  8. spring 命名空间

    命名空间太多了,有必要学习了解一下 xmlns是XML Namespaces的缩写 使用语法: xmlns:namespace-prefix="namespaceURI" xsi全 ...

  9. 数据分析学习 third week (7.29~8.4)

    概率分布简介 简单地介绍下常用概率分布的理论知识. 基础概念 1.概率 概率直观上是指一个事件发生可能性大小的数量指标 概率的统计定义:在不变的条件下,重复进行$n$次试验,事件$A$发生的频率稳定在 ...

  10. 趣讲 PowerJob 超强大的调度层,开始表演真正的技术了

    本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri HelloGitHub 推出的<讲解开源项目>系列. 写在前面的碎碎念:终于到了万众期待的调度层原理了. ...