1.[ ]的使用 当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * from user info就要报错,需要写成:select * from [user] 和 select * from [user info],不过千万不要因为有[]的帮助,就随意起名了,那是自找麻烦,不过我确实看到有人把用户表起名为user的. 2.NULLIF函数 NULLIF(Express…
工作中经常会遇到,要在sql中查询报表,查询结果要求按照日期来罗列, 或按照天, 或按照月,年. 这个时候我们经常会苦恼,datetime是精确到毫秒的,如果单纯的group by datetime就会导致结果不正确. 这是我们可以利用convert函数: SELECT convert(varchar(10),CreateDate,120) ,var1 ,var2 FROM Table GROUP BY convert(varchar(10),CreateDate,120) ASC 第一个参数是…
基于Microsoft SQL Server 的标量值函数fun_GetPy,借鉴其他优秀的博主文章,此处贴出源码,以及使用方法 1.打开新建查询,贴如下代码,F5 /****** Object: UserDefinedFunction [dbo].[fun_GetPy] Script Date: 11/01/2019 11:07:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO )) ) AS BEGIN ) ) COLLA…
--实际只会更新一条.可有效防止误操作.特别是操作线上正式数据时. UPDATE TOP(1) Table2 SET Culumn1='value'WHERE id IN(269102,269104) <OrderKey>000000102153003,</OrderKey><OrderKey>000000102153337,</OrderKey><OrderKey>000000102153293,</OrderKey><Ord…
此文章为转载 使用CASE来重新定义数值类型 SELECT id,title, (CASE date WHEN '0000-00-00' THEN '' ELSE date END) AS date FROM your_table SELECT id,title, (CASE status WHEN 0 THEN 'open' WHEN 1 THEN 'close' ELSE 'standby' END) AS status FROM your_table 查找重复的email记录字段 SELE…
set IMPLICIT_TRANSACTIONS ON--关闭自动提交on 防止误操作,除非显式提交commit后,才会真正提交到数据库中,并且可以随时回滚操作.如下: set IMPLICIT_TRANSACTIONS ON--关闭自动提交onbegin transaction update 表 set 字段='测试时'where 条件=281 commit--提交rollback transaction--回滚…
身份证号加密 select concat(left(`visitors`.`Card_id`,3),'****',right(`visitors`.`Card_id`,4)) AS `Card_id` from userinfo 时段统计 select HOUR(itime) as hours,CONCAT(HOUR(itime),"点~",HOUR(itime)+1,"点") as hours1,count(0) as count from visitors gr…
1.查询数据(保证查询性能) SELECT * 和 SELECT t.id , t.name:后者性能其实总体优于前者. 2.在查询的时候最好给表起个 别名,方便找到表中要查询的字段.执行sql的进行多条件查询的时候,使用类如Navicat 之类的工具,按照下面这种格式写查询sql: and cus.uuid='' -- and cus.customerId='' and cus.customerName='' or cus.authState='' -- or cus.createTime='…
with list_numbers as ( select Name, AuthorOrTime, Url, Price, EstimatePrice, Size, Category, ROW_NUMBER() over (order by Name, AuthorOrTime, Url, Price, EstimatePrice, Size, Category) as 'rownumber' from Arts ) delete list_numbers where rownumber not…
sql server 小技巧(1) 导入csv数据到sql server sql server 小技巧(2) 删除sql server中重复的数据 sql server 小技巧(3) SQL Server 2012 数据库完整导出到SQL Azure (包括数据) sql server 小技巧(4) Sql server 排序时让空值排在最后 sql server 小技巧(5) Sql server 获取指定字符后的所有字符 - 去掉指定字符前的所有字符 sql server 小技巧(6) Ca…
今天查询二个db,出现这个错误,二种方法,一种是把db里的collation改成一样的:如果不方便可以直接在sql语句后面转一下: select * from table where crm_mscrm.dbo.imei.imei_no = csmrep.crmextdb.dbo.imei.imei_no collate Chinese_PRC_CI_AS sql server 小技巧 集锦…
SQL SERVER 小技巧(不用exec实现in()的功能) declare @x varchar(20) SET @x='1,2,3' SELECT @x select * from data0001 where charindex(','+ltrim(rkey)+',',','+@x+',')>0 --====================== SQL SERVER 小技巧(多行数据转字符串a,b,c...的写法) declare @Colstr varchar(max) selec…