sql查询员工入职多少天_sql 查询四舍五入_sql怎么四舍五入(13)

电脑杂谈  发布时间:2017-02-03 23:10:24  来源:网络整理

手机 B3

手机 C3

select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type

Top

FUNCTION:DELELTE REPEAT RECORDS

DELETEfrom tablename where id not in (select max(id) from tablename group by col1,col2,...)

Top

Microsoft SQL Server是如何加密口令的?未公开的加密函数?

如果对MSSQL的用户信息有兴趣的,可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?

其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。

让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下

DECLARE @ClearPWD varchar(255)

DECLARE @EncryptedPWD varbinary(255)

SELECT @ClearPWD = 'test'

SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))

SELECT @EncryptedPWD

看上去不错,确实被加密了,可是我怎么还原呢?

呵呵,这就没戏了,口令加密都是单向的,用加密后的密文来比较就可以了。

继续看看其它用户相关的sp,可以发现master.dbo.sp_password里面有口令比较的内容。

pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END))

不用去理会xstatus,这是一个状态掩码,一般我们用的时候就直接用0就可以了

DECLARE @ClearPWD varchar(255)

DECLARE @EncryptedPWD varbinary(255)

SELECT @ClearPWD = 'test'

SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))

SELECT pwdcompare(@ClearPWD, @EncryptedPWD, 0)

SELECT pwdcompare('ErrorPassword', @EncryptedPWD, 0)

这样我们就可以使用这两个函数来加密自己的密码了,怎么样,还不错吧?

引用自

Top

SELECT语法:(基本)

SELECT [DISTINCT]

(column [{, column } ] )| *

FROM table [ { , table} ]

[ORDER BY column [ASC] | [DESC

[{ , column [ASC] | [DESC } ] ]

WHERE predicate [ { logical-connector predicate } ];


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-30385-13.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 嘉雅家管家
      嘉雅家管家

      得了便宜还卖乖

    • 田之中勇
      田之中勇

      可能是在等中国放松戒备时进来溜溜就走

    热点图片
    拼命载入中...