标签归档:sql技巧

mssql sql脚本查询时,你一定要注意的事情—不能写星号(*)?


摘要:
下文讲述sqlselect检索数据时的注意事项,如下所示:

在sqlserver中,当我们检索数据时,
一定不要使用* 代替列名,
笔者建议每位开发者都应该显式的写上待查询的列

 因为使用星号查询时,会查出很多不必要的列,
 这些返回列会消耗一定的IO
  有时还会进行二次查询,使索引效率低下

所以select 后一定要跟上你所需返回的列名

mssql sqlserver 如何使用查询数据时,将指定列中的字符串多余部分使用省略号呢?


摘要:
下文讲述mssql数据查询时,当一列中字符串非常多时,将多余字符采用省略号表示的方法分享,如下所示:

 实现思路:
     使用substring对超过长度的字符串进行剪切,并在后面添加省略号,如下例所示

例:

  select substring([列名],0,长度)+'...' as 列名
  from [表名]  

mssql sqlserver 如何使用sql脚本将”unix时间戳”转换为一个”日期时间”值呢?


摘要:
下文讲述sqlserver数据库中使用sql脚本将为unix时间戳转换为日期的方法分享,如下所示:

unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
那么在sql中 unix时间戳 转换为日期,我们应采用下面的方式:

 使用dateadd函数在1970-1-1加上相应的时间戳值得到一个日期时间值,即为unix时间戳所对应的时间日期值

例:

CREATE FUNCTION UnixTimestampToDate (@d int) RETURNS date 
AS
BEGIN
 declare @t date
 SELECT  @t = DATEAdd(SECOND,'1970-01-01', @d)
 return  @t
END
go

select dbo.UnixTimestampToDate(1200);