摘要:
COLUMNS_UPDATED和UPDATE 这两个函数都是用于表触发器里面判断字段是否被更新。区别是前者是位掩码来实现,比较绕,好处是可以检查多个字段。后者的用法就比较简单,就是把字段名称作为参数,但是只能单个字段。我觉得从代码可读性来说还是UPDATE比较好理解。 TRIGGER_NESTLEV 阅读全文
摘要:
$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 阅读全文