SQL点点滴滴_聪明的小写法(持续更新中)

1、生成序列号

  SELECT number + 1 ,number FROM master..spt_values WHERE type = 'P' ORDER BY number

  说明: master..spt_values相当于一个数字辅助表,在SQL中主要用到number这个字段。经常用于计算连续的日期等。

   SELECT CONVERT(varchar(10),DATEADD(DAY,number,GETDATE()),120) AS [日期]  FROM MASTER..spt_values WHERE TYPE='P' AND number>0  

2、通过变量获取数据表的所有字段名

  DECLARE @STRSQL VARCHAR(2000)

  SET @STRSQL=''  

  SELECT @STRSQL=NAME+','+@STRSQL FROM SYSCOLUMNS WHERE OBJECT_NAME(ID)='tb_o_card_deposit'  

  PRINT LEFT(@STRSQL,LEN(@STRSQL)-1)

3、查询数据库中的表及列

  select * from information_schema.columns

  说明:当前数据库中当前用户可以访问的每一个列在该视图中占一行。INFORMATION_SCHEMA.COLUMNS 视图以 sysobjectsspt_data type_infosystypessyscolumnssyscommentssysconfigures 以及 syscharsets 系统表为基础。

4、中文排序混乱

  select col1, col2 from table order by col1 collate Chinese_PRC_CI_AS  

  说明:在SQL语句中指定排序列的collation为  Chinese_PRC_CI_AS 。

  排序规则由两部分构成,比如Chinese_PRC_CI_AI_WS,前半部分是指本排序规则所支持的字符集,如Chinese_PRC指对大陆简体字UNICODE的排序规则。

  后半部分含义如下:

  _BIN  指定使用向后兼容的二进制排序顺序。

  _BIN2  指定使用SQL Server2005中引入的码位比较语义的二进制排序顺序。

  _Stroke  按笔划排序

  _CI(CS)  是否区分大小写,CI不区分,CS区分。

  _AI(AS)  是否区分重音,AI不区分,AS区分。

  _KI(KS)  是否区分假名类型,KI不区分,KS区分。

  _WI(WS)  是否区分全半角,WI不区分,WS区分。

 

你可能感兴趣的:(SQL点点滴滴_聪明的小写法(持续更新中))