原创 SQL Server ->> 邏輯函數 CHOOSE \GREATEST \IIF \LEAST

CHOOSE 如果列是由1開始的枚舉值,可以用CHOOSE來轉成對應的文字描述   GREATEST和LEAST 這兩個是後面纔有的,GREATEST可以輸出多個列中最大的的列值,有點像列級別的MAX函數。而LEAST就是反過來,多列中的最

原创 SQL Server ->> 日期函數

獲取當前系統日期時間。   取決於:1、精度要求;2、UTC時間還是系統時間;3、要不要帶時區   與 GETDATE 和 GETUTCDATE 比較而言,SYSDATETIME 和 SYSUTCDATETIME 的秒的小數部分精度更高。

原创 SQL Server ->> 數據類型函數 DATALENGTH \IDENT_CURRENT \IDENT_INCR \IDENT_SEED \IDENTITY

DATALENGTH 返回傳入數據真實數據佔用子節(bytes)存儲大小。舉例,把 數值=1的整型傳入會得到4,因爲整型會佔用4個子節長度的數據存儲。而如果1是字符,返回1,如果1是unicode,返回2。講到DATALENGTH,自然會聯

原创 SQL Server ->> 字符串相關函數

SQL Server 2016以後基本沒怎麼關注過新版本的T-SQL語法更新,今天看了一下,發現了幾個字符串相關的函數更新   CONCAT_WS CONCAT_WS是CONCAT的延伸版,以前如果把字段拼起來不是要自己去指定每個字段中間加

原创 SQL Server ->> 元數據函數

@@PROCID 當前存儲過程的object_id   APP_NAME 當前會話的調用應用程序名稱,像一般JDBC就是JDBC驅動的名稱   COL_LENGTH 表字段類型的長度定義  COL_LENGTH (表名,字段名)   COL

原创 SQL Server ->> 數學運算函數 ABS \CEILING \FLOOR \POWER \RAND \ROUND \SIGN \SQUARE \EXP \LOG

數據函數裏面大部分函數其實日常寫代碼都不會用到,下面這些是我用過的數學運算函數   ABS和SIGN ABS是返回數值的絕對值,是英文absolute的縮寫。而SIGN是返回數值是正負數的標誌,1代表大於0的正數,-1代表小於0的負數,0就

原创 SQL Server ->> 安全相關函數

安全相關的函數這些可能會有用: CERTENCODED \CERTPRIVATEKEY \LOGINPROPERTY \ORIGINAL_LOGIN \PWDCOMPARE \SESSION_USER \SESSIONPROPERTY \S

原创 SQL Server ->> 系統相關的函數

$PARTITION 返回指定的分區函數的分區號 CREATE PARTITION FUNCTION RangePF1 ( INT ) AS RANGE FOR VALUES (10, 100, 1000) ; GO SELE

原创 T-SQL ->> 找出每個班級裏面任意3門學科總分學科超過290分的學生前3名,按總分排序

前段時間接到國內一家潮流鞋品網購平臺的大數據工程師的面試,第一輪面試對方工程師提問了不少SQL的例子考我。雖然寫了這麼多年SQL,但是居然當中有道題給難住了,電話裏面答不出來,事後自己才解答了出來。我覺得也確實好久沒有遇到這種難的SQL例子

原创 【轉】詳解數倉中的數據分層:ODS、DWD、DWM、DWS、ADS

簡書上一篇博文講數倉,我覺得和之前轉的一篇帆軟的博文也是挺有參考和學習價值的。講清楚了每個分層的概念和做什麼。 這是博文的出處https://www.jianshu.com/p/1dd894e5bb62   ----------------

原创 【轉】關於數據建模之思考(三):數倉分層設計架構

帆軟有篇關於數倉建模的博文講的不錯,清楚解釋了不同層次的作用和含義。   虛線下面是文章內容   文章出處https://www.fanruan.com/bw/gysjj   --------------------------------

原创 【轉載】基於 Kafka 與 Debezium 構建實時數據管道

【轉載】原文出處 https://aleiwu.com/post/vimur.cn/#%E5%89%8D%E8%A8%80   --------------------------------------------------------

原创 案例 ->> EXP和LOG數學函數實現複合增長率計算

什麼是年複合增長率呢?(這裏藉助百度知道上面的一段解釋)   一項投資在特定時期內的年度增長率計算方法爲總增長率百分比的n方根,n相等於有關時期內的年數公式爲:(現有價值/基礎價值)^(1/年數) - 1這個概念並不複雜。舉個例子,你在20

原创 SQL Server ->> 談表數據遷移時,先建索引再插入數據,還是先插入數據再建索引的問題 SQL Server ->> 談SQL Server數據庫大表遷移

這個事情源於我前陣子做一個數據遷移時遇到的慘痛經歷。幾個月前我們生產環境有張10幾億行數據的表因爲自增列是INT類型,數據類型需要改成BIGINT,只能遷移數據到新表後通過重命名錶的方式來實現表遷移。這個我在另外一篇博文SQL Server

原创 SQL Server ->> 查找數據庫表\字段被哪些編程對象架構綁定了(SHEMA_BINDING)

  SELECT OBJECT_SCHEMA_NAME(dep.referencing_id) AS [schema] ,referencing_entity.name ,CASE referencing_