02 2022 档案
摘要:$PARTITION 返回指定的分区函数的分区号 CREATE PARTITION FUNCTION RangePF1 ( INT ) AS RANGE FOR VALUES (10, 100, 1000) ; GO SELECT $PARTITION.RangePF1 (10) ; GO 结果 获
阅读全文
摘要:SQL Server 2016以后基本没怎么关注过新版本的T-SQL语法更新,今天看了一下,发现了几个字符串相关的函数更新 CONCAT_WS CONCAT_WS是CONCAT的延伸版,以前如果把字段拼起来不是要自己去指定每个字段中间加分割分,例如CONCAT(字段1,',',字段2,',’,字段3
阅读全文
摘要:安全相关的函数这些可能会有用: CERTENCODED \CERTPRIVATEKEY \LOGINPROPERTY \ORIGINAL_LOGIN \PWDCOMPARE \SESSION_USER \SESSIONPROPERTY \SUSER_ID \SUSER_NAME \SYSTEM_US
阅读全文
摘要:@@PROCID 当前存储过程的object_id APP_NAME 当前会话的调用应用程序名称,像一般JDBC就是JDBC驱动的名称 COL_LENGTH 表字段类型的长度定义 COL_LENGTH (表名,字段名) COL_NAME COL_NAME ( table_id , column_id
阅读全文
摘要:数据函数里面大部分函数其实日常写代码都不会用到,下面这些是我用过的数学运算函数 ABS和SIGN ABS是返回数值的绝对值,是英文absolute的缩写。而SIGN是返回数值是正负数的标志,1代表大于0的正数,-1代表小于0的负数,0就是数值等于0 FLOOR和CEILING 返回浮点型参数的最高整
阅读全文
摘要:CHOOSE 如果列是由1开始的枚举值,可以用CHOOSE来转成对应的文字描述 GREATEST和LEAST 这两个是后面才有的,GREATEST可以输出多个列中最大的的列值,有点像列级别的MAX函数。而LEAST就是反过来,多列中的最小值。这里需要注意对NULL值的处理。 IIF 这个可以理解为对
阅读全文
摘要:获取当前系统日期时间。 取决于:1、精度要求;2、UTC时间还是系统时间;3、要不要带时区 与 GETDATE 和 GETUTCDATE 比较而言,SYSDATETIME 和 SYSUTCDATETIME 的秒的小数部分精度更高。 SYSDATETIMEOFFSET 包含系统时区偏移量。 SYSDA
阅读全文
摘要:DATALENGTH 返回传入数据真实数据占用子节(bytes)存储大小。举例,把 数值=1的整型传入会得到4,因为整型会占用4个子节长度的数据存储。而如果1是字符,返回1,如果1是unicode,返回2。讲到DATALENGTH,自然会联想到另外一个函数LEN。LEN只适用于字符,而DATALEN
阅读全文
摘要:先建个成绩表作为测试数据 CREATE TABLE dbo.score ( [class] nvarchar(10), [student] nvarchar(10), [subject_name] nvarchar(10), [score] decimal(4,1) ) INSERT INTO db
阅读全文
摘要:前段时间接到国内一家潮流鞋品网购平台的大数据工程师的面试,第一轮面试对方工程师提问了不少SQL的例子考我。虽然写了这么多年SQL,但是居然当中有道题给难住了,电话里面答不出来,事后自己才解答了出来。我觉得也确实好久没有遇到这种难的SQL例子,这里写下博文记录一下。 场景:现在有张成绩表(score)
阅读全文