惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
T
Threat Research - Cisco Blogs
H
Hacker News: Front Page
N
News and Events Feed by Topic
Know Your Adversary
Know Your Adversary
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Webroot Blog
Webroot Blog
Schneier on Security
Schneier on Security
P
Privacy & Cybersecurity Law Blog
H
Heimdal Security Blog
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
V
Vulnerabilities – Threatpost
T
Tenable Blog
T
Tailwind CSS Blog
P
Privacy International News Feed
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
博客园 - Franky
Hacker News: Ask HN
Hacker News: Ask HN
Jina AI
Jina AI
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
Vercel News
Vercel News
A
About on SuperTechFans
爱范儿
爱范儿
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog
The Last Watchdog
The Last Watchdog
Engineering at Meta
Engineering at Meta
Spread Privacy
Spread Privacy
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 司徒正美
量子位
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recorded Future
Recorded Future
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Martin Fowler
Martin Fowler
Project Zero
Project Zero

博客园 - 共同学习,共同进步

SQL Pretty Printer for SSMS 很不错的SQL格式化插件 GOOD LINK 用简单代码破解Excel保护密码 罗克韦尔自动化(中国)责任有限公司 - 招聘软件开发实习生 思考1 NET Framework Library Source Code Now Available SQL IsEmptyOrNull [笔记] C# 3.0 新特性[3]-Understanding Object Initializers [笔记] C# 3.0 新特性[2]-Understanding Extension Methods [笔记] C# 3.0 新特性[1]-implicitly typed local variables 通用数据库存储过程代码--高效分页存储过程 listview and downloader TFS 2008 - Running two Build Agents on the Same Machine Team Foundation Blog Overview of Team Foundation Build Understanding CGI with C# IEnumerator 是所有非泛型枚举数的基接口 C# Programming Guide An Introduction to C# Generics
C# 代码片段
共同学习,共同进步 · 2013-03-27 · via 博客园 - 共同学习,共同进步

取字符串拼音首母

View Code

class PYHelper
    {
        public static string GetPY(string s)
        {
            string r = "";
            foreach (char c in s.ToCharArray())
            {
                r += GetPYChar(c.ToString());
            }
            return r;
        }

        //http://v.163.com/zongyi/V7TFMDFS0/V8PPTEPKJ.html#fr=email
        /// <summary>
        /// 取单个字符的拼音声母
        /// Code By MuseStudio@hotmail.com
        /// 2004-11-30
        /// </summary>
        /// <param name="c">要转换的单个汉字</param>
        /// <returns>拼音声母</returns>
        private static string GetPYChar(string c)
        {
            byte[] array = new byte[2];
            array = System.Text.Encoding.Default.GetBytes(c);
            int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0'));

            if (i < 0xB0A1) return "*";
            if (i < 0xB0C5) return "a";
            if (i < 0xB2C1) return "b";
            if (i < 0xB4EE) return "c";
            if (i < 0xB6EA) return "d";
            if (i < 0xB7A2) return "e";
            if (i < 0xB8C1) return "f";
            if (i < 0xB9FE) return "g";
            if (i < 0xBBF7) return "h";
            if (i < 0xBFA6) return "g";
            if (i < 0xC0AC) return "k";
            if (i < 0xC2E8) return "l";
            if (i < 0xC4C3) return "m";
            if (i < 0xC5B6) return "n";
            if (i < 0xC5BE) return "o";
            if (i < 0xC6DA) return "p";
            if (i < 0xC8BB) return "q";
            if (i < 0xC8F6) return "r";
            if (i < 0xCBFA) return "s";
            if (i < 0xCDDA) return "t";
            if (i < 0xCEF4) return "w";
            if (i < 0xD1B9) return "x";
            if (i < 0xD4D1) return "y";
            if (i < 0xD7FA) return "z";
            return "*";
        }

 获得工作日天数

View Code

class DateHelper
    {
        public static int GetWorkingDays(DateTime from, DateTime to)
        {
            var totalDays = 0;
            for (var date = from; date < to; date = date.AddDays(1))
            {
                if (date.DayOfWeek != DayOfWeek.Saturday
                    && date.DayOfWeek != DayOfWeek.Sunday)
                    totalDays++;
            }

            return totalDays;
        }

        public static int GetWorkingDays1(DateTime from, DateTime to)
        {
            var dayDifference = (int)to.Subtract(from).TotalDays + 1;
            return Enumerable
                .Range(0, dayDifference)
                .Select(x => from.AddDays(x))
                .Where(x => x.DayOfWeek != DayOfWeek.Saturday && x.DayOfWeek != DayOfWeek.Sunday)
                .Count();
        }
    }

 XML 格式化 C#

View Code

/// <summary>
/// XML格式化为文本显示
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string ShowXml(string str)
{
    MemoryStream mstream = new MemoryStream();
    XmlTextWriter writer = new XmlTextWriter(mstream, null);
    XmlDocument xmldoc = new XmlDocument();
    writer.Formatting = Formatting.Indented;


    xmldoc.LoadXml(str);
    xmldoc.WriteTo(writer);
    writer.Flush();
    writer.Close();


    Encoding encoding = Encoding.GetEncoding("utf-8");
    string strReturn = encoding.GetString(mstream.ToArray());
    mstream.Close();
    return strReturn;
}

 大数据表删除清理

View Code

/*
Step 1:导出符合清理条件数据,主键insert临时表
*/
--RFC_变更号_操作编号
--取需要清理的TmpOrderID
SELECT  a.tmporderid
INTO    #temp_tmporderid
FROM    dbo.sales_salesorder a ( NOLOCK )
        LEFT JOIN o_pkgorder b ( NOLOCK ) ON a.tmporderid = b.tmporderid
WHERE   b.tmporderid IS NULL

/*
Step 2:临时表创建索引
*/
CREATE CLUSTERED INDEX IX_TmpOrderID ON #TEMP_TmpOrderID (TmpOrderID)

/*
Step 3:申明表变量存放每批次数据
*/
DECLARE @TMP_StatusLog TABLE ( TmpOrderID INT )

/*
Step 4:小批量事务循环删除
*/
WHILE EXISTS ( SELECT TOP 1
                        *
               FROM     #TEMP_TmpOrderID ) 
    BEGIN
        BEGIN TRY
            DELETE  FROM @TMP_StatusLog
    --取100条数据
            INSERT  INTO @TMP_StatusLog
                    SELECT TOP 100
                            *
                    FROM    #TEMP_TmpOrderID

            BEGIN TRAN
        --BACKUP TO TABLE
            INSERT  INTO dbo.Sales_SalesOrder_bak
                    SELECT  *
                    FROM    dbo.Sales_SalesOrder
                    WHERE   TmpOrderID IN ( SELECT  TmpOrderID
                                            FROM    @TMP_StatusLog )   



--DELETE 
            DELETE  FROM dbo.Sales_SalesOrder
            WHERE   TmpOrderID IN ( SELECT  TmpOrderID
                                    FROM    @TMP_StatusLog )   

            DELETE  FROM #TEMP_TmpOrderID
            WHERE   TmpOrderID IN ( SELECT  TmpOrderID
                                    FROM    @TMP_StatusLog )

            COMMIT

        END TRY
        BEGIN CATCH
            IF ( @@TRANCOUNT > 0 ) 
                BEGIN 
                    SELECT  ERROR_NUMBER() AS ErrorNumber ,
                            ERROR_SEVERITY() AS ErrorSeverity ,
                            ERROR_STATE() AS ErrorState ,
                            ERROR_PROCEDURE() AS ErrorProcedure ,
                            ERROR_LINE() AS ErrorLine ,
                            ERROR_MESSAGE() AS ErrorMessage
           --回滚
                    ROLLBACK
           --exit
                    BREAK
                END
            ELSE 
                IF ( @@TRANCOUNT = 0 ) 
                    BEGIN
                        SELECT  ERROR_NUMBER() AS ErrorNumber ,
                                ERROR_SEVERITY() AS ErrorSeverity ,
                                ERROR_STATE() AS ErrorState ,
                                ERROR_PROCEDURE() AS ErrorProcedure ,
                                ERROR_LINE() AS ErrorLine ,
                                ERROR_MESSAGE() AS ErrorMessage
--exit
                        BREAK
                    END
        END CATCH
    END

--删除临时表
DROP TABLE #TEMP_TmpOrderID

 获取存储过程

View Code

SELECT  pr.name ,
        p.* ,
        t.name ,
        t.max_length
FROM    sys.procedures pr
        INNER JOIN sys.parameters p ON pr.object_id = p.object_id
        INNER JOIN sys.types t ON p.system_type_id = t.system_type_id

SELECT  pr.name ,
        p.*
FROM    sys.procedures pr
        INNER JOIN sys.parameters p ON pr.object_id = p.object_id

SELECT  *
FROM    INFORMATION_SCHEMA.PARAMETERS

SQL十进制转二进制和十六的两个函数

View Code

DECLARE @i INT
DECLARE @j FLOAT
DECLARE @m INT
DECLARE @OUT1 VARCHAR(1)
DECLARE @OUT2 VARCHAR(20)

SET @i = 22
SET @out2 = ' '
WHILE @i >= 1 
    BEGIN 
        SET @j = @i / 2
        SET @m = @i % 2
        SET @i = FLOOR(@j)
        SET @OUT1 = CAST(@m AS CHAR(1))
        SET @OUT2 = @OUT1 + @OUT2
    END
    
PRINT @OUT2
    
    
   -- 十进制转二进制和十六的两个函数
--A.调用测试:
--Update MySheet1 set 二进制=  dbo.inttobit(十进制)
--Update MySheet2 set 十六进制=  dbo.inttohex(十进制)
--B.函数内容
--十进制转二进制函数
CREATE FUNCTION dbo.inttobit ( @number INT )
RETURNS VARCHAR(100)
AS 
    BEGIN
        DECLARE @i INT
        DECLARE @j FLOAT
        DECLARE @m INT
        DECLARE @OUT1 VARCHAR(1)
        DECLARE @OUT2 VARCHAR(20)
        SET @i = @number
        SET @out2 = ' '
        WHILE @i >= 1 
            BEGIN 
                SET @j = @i / 2
                SET @m = @i % 2
                SET @i = FLOOR(@j)
                SET @OUT1 = CAST(@m AS CHAR(1))
                SET @OUT2 = @OUT1 + @OUT2
            END
        RETURN @OUT2
    END 

--十进制转十六进制函数
CREATE   FUNCTION dbo.inttohex ( @i INT )
RETURNS VARCHAR(15)
    BEGIN 
--declare @i int 
--set @i=11259375 
        DECLARE @r VARCHAR(10)   
        SET @r = '' 
        WHILE @i / 16 > 0 
            BEGIN 
                SET @r = ( CASE WHEN ( @i % 16 ) <= 9
                                THEN CONVERT(VARCHAR(1), @i % 16)
                                WHEN ( @i % 16 ) = 10 THEN 'A'
                                WHEN ( @i % 16 ) = 11 THEN 'B'
                                WHEN ( @i % 16 ) = 12 THEN 'C'
                                WHEN ( @i % 16 ) = 13 THEN 'D'
                                WHEN ( @i % 16 ) = 14 THEN 'E'
                                WHEN ( @i % 16 ) = 15 THEN 'F'
                           END ) + @r 
--select @r,@i 
                SET @i = @i / 16 
            END 
--select @r,@i 
        IF @i > 0 
            SET @r = ( CASE WHEN ( @i % 16 ) <= 9
                            THEN CONVERT(VARCHAR(1), @i % 16)
                            WHEN ( @i % 16 ) = 10 THEN 'A'
                            WHEN ( @i % 16 ) = 11 THEN 'B'
                            WHEN ( @i % 16 ) = 12 THEN 'C'
                            WHEN ( @i % 16 ) = 13 THEN 'D'
                            WHEN ( @i % 16 ) = 14 THEN 'E'
                            WHEN ( @i % 16 ) = 15 THEN 'F'
                       END ) + @r 
-- select @r 
        RETURN @r 
    END

posted on 2013-03-27 13:40  共同学习,共同进步  阅读(509)  评论()    收藏  举报