sponsored links

函式整理(T-SQL 版)

函式整理(T-SQL 版)

一、數學函式

  1.求絕對值

  ABS() 函式用來返回一個數值的絕對值。

SELECT ABS(-5.38) AS absValue;

函式整理(T-SQL 版)

  2.求指數

  POWER() 函式是用來計算指數的函式。該函式接受兩個引數,第一個引數為待求冪的表示式,第二個引數為冪。

SELECT POWER(5, -0.5) AS powerValue1,
    POWER(5, 2) AS powerValue2,
    POWER(5, 3) AS powerValue3;

函式整理(T-SQL 版)

  3.求平方根

  SQRT() 函式是用來計算平方根的函式。該函式接受一個引數,這個引數為待計算平方根的表示式。

SELECT SQRT(9) AS sqrtValue1,
    SQRT(3) AS sqrtValue2;

函式整理(T-SQL 版)

  4.求隨機數

SELECT RAND(9527) randValue;

函式整理(T-SQL 版)

  5.舍入到最大整數

SELECT CEILING(56.67) ceilingValue1,
    CEILING(-56.67) ceilingValue2;

函式整理(T-SQL 版)

  6.舍入到最小整數

SELECT FLOOR(56.67) floorValue1,
    FLOOR(-56.67) floorValue2;

函式整理(T-SQL 版)

  7.四捨五入

  ROUND() 函式也是用來進行數值四捨五入的。

SELECT ROUND(56.67, 0) roundValue1,
    ROUND(56.67, 1) roundValue2,
    ROUND(-56.67, 0) roundValue3;

函式整理(T-SQL 版)

  8.求正弦值

SELECT SIN(56.67) sinValue;

函式整理(T-SQL 版)

  9.求餘弦值

SELECT COS(56.67) cosValue;

函式整理(T-SQL 版)

  10.求反正弦值

SELECT 1 / 56.67,
    ASIN(1 / 56.67) asinValue;

函式整理(T-SQL 版)

  11.求反餘弦值

SELECT 1 / 56.67,
    ACOS(1 / 56.67) acosValue;

函式整理(T-SQL 版)

  12.求正切值

SELECT TAN(56.67) tanValue;

函式整理(T-SQL 版)

  13.求反正切值

SELECT ATAN(56.67) atanValue;

函式整理(T-SQL 版)

  14.求 2 個變數的反正切

SELECT ATN2(56.67, 2) atn2Value;

函式整理(T-SQL 版)

  15.求餘切

SELECT COT(56.67) cotValue;

函式整理(T-SQL 版)

  16.求圓周率 π 值

SELECT PI() 'pi';

函式整理(T-SQL 版)

  17.弧度制轉換為角度制

SELECT DEGREES(56.67) degreesValue;

  18.角度制轉換為弧度制

SELECT RADIANS(56.67) radiansValue;

函式整理(T-SQL 版)

  19.求符號

  SIGN() 函式用來返回一個數值的符號,如果數值大於 0 則返回 1,如果數值等於 0 則返回 0,如果數值小於 0 則返回-1。

SELECT SIGN(1 - 3) signValue1,
    SIGN(3 - 1) signValue2,
    SIGN(0) signValue3;

函式整理(T-SQL 版)

  20.求自然對數

  LOG() 函式用來計算一個數的自然數值。

SELECT LOG(56.67) logValue;

函式整理(T-SQL 版)

  21.求以 10 為底的對數

SELECT LOG10(56.67) log10Value;

函式整理(T-SQL 版)

二、字串函式

  1.計算字串長度

SELECT LEN('abc');

函式整理(T-SQL 版)

  2.字串轉換為小寫

SELECT LOWER('A');

函式整理(T-SQL 版)

  3.字串轉換為大寫

SELECT UPPER('a');

函式整理(T-SQL 版)

  4.截去字串左側的空格

SELECT LTRIM(' a ');

函式整理(T-SQL 版)

  5.截去字串右側空格

SELECT RTRIM(' a ');

函式整理(T-SQL 版)

  6.截去字串兩側的空格

SELECT RTRIM(LTRIM(' a '));

函式整理(T-SQL 版)

  7.取子字串

  SUBSTRING(string, start_position, length)

SELECT 'abcdef',
    SUBSTRING('abcdef', 2, 3);

函式整理(T-SQL 版)

  8.計算子字串的位置

SELECT CHARINDEX('ly', 'Kelly'),
    CHARINDEX('m', 'Smith');

函式整理(T-SQL 版)

  9.從左側開始取子字串

  LEFT(string, length)

SELECT LEFT('abcdef', 3);

函式整理(T-SQL 版)

  10.從右側開始取子字串

  RIGHT(string,length)

SELECT RIGHT('abcdef', 3);

函式整理(T-SQL 版)

  11.字串替換

  REPLACE(string, string_tobe_replace, string_to_replace)

SELECT REPLACE(' abc def', ' ', '');

函式整理(T-SQL 版)

  12.得到字元的 ASCII 碼

  ASCII() 函式用來得到一個字元的 ASCII 碼,它有且只有一個引數,這個引數為待求 ASCII 碼的字元,如果引數為一個字串則函式返回第一個字元的 ASCII 碼。

SELECT ASCII('a'),
    ASCII('abc');

函式整理(T-SQL 版)

  13.得到一個 ASCII 碼數字對應的字元

  與 ASCII() 函式正好相反,獲取得到一個字元的 ASCII 碼。

SELECT CHAR(56) char1,
    CHAR(90) char2,
    CHAR(ASCII('a')) char3;

函式整理(T-SQL 版)

  14.轉換為整數

SELECT CEILING(90.021) ceilingValue;

函式整理(T-SQL 版)

  15.發音匹配度

  有的時候我們並不知道一個人姓名的準確拼寫,只知道它的發音,這是在公安、醫療、教育等系統中是經常需要的功能。

函式整理(T-SQL 版)

SELECT SOUNDEX('jack') jackSoundexValue,
    SOUNDEX('jeck') jeckSoundexValue,
    SOUNDEX('joke') jockSoundexValue,
    SOUNDEX('juke') jukeSoundexValue,
    SOUNDEX('look') lookSoundexValue,
    SOUNDEX('jobe') jobeSoundexValue;

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  DIFFERENCE() 用來簡化兩個字串的發音相似度比較高,它可以計算兩個字串的發音特徵值,並且比較它們,然後返回一個 0 至 4 之間的一個值來反映兩個字串的發音相似度,這個值越大則表示兩個字串發音思想度越大。

SELECT DIFFERENCE('Kerry', 'Merry') diffValue1,
    DIFFERENCE('Jim', 'Merry') diffValue2;

函式整理(T-SQL 版)

三、日期時間函式

  1.取得當前日期時間的函式 GETDATE()

SELECT GETDATE();
SELECT CONVERT(VARCHAR(50), GETDATE(), 101) AS 當前日期,
    CONVERT(VARCHAR(50), GETDATE(), 108) AS 當前時間;

函式整理(T-SQL 版)

  2.日期增減

SELECT GETDATE(),
    DATEADD(YEAR, 3, GETDATE()) AS time1,
    DATEADD(QUARTER, 20, GETDATE()) AS time2,
    DATEADD(MONTH, 68, GETDATE()) AS time3,
    DATEADD(WEEK, -1000, GETDATE()) AS time4;

函式整理(T-SQL 版)

  3.計算日期差額

函式整理(T-SQL 版)

SELECT GETDATE(),
    DATEDIFF(YEAR, '1992-06-01 00:00:00', GETDATE()) '年份',
    DATEDIFF(QUARTER, '1992-06-01 00:00:00', GETDATE()) '季度',
    DATEDIFF(MONTH, '1992-06-01 00:00:00', GETDATE()) '月份',
    DATEDIFF(DAYOFYEAR, '1992-06-01 00:00:00', GETDATE()) '每年的某一日',
    DATEDIFF(DAY, '1992-06-01 00:00:00', GETDATE()) '日期',
    DATEDIFF(WEEK, '1992-06-01 00:00:00', GETDATE()) '星期',
    DATEDIFF(WEEKDAY, '1992-06-01 00:00:00', GETDATE()) '工作日',
    DATEDIFF(HOUR, '1992-06-01 00:00:00', GETDATE()) '小時',
    DATEDIFF(MINUTE, '1992-06-01 00:00:00', GETDATE()) '分鐘',
    DATEDIFF(SECOND, '1992-06-01 00:00:00', GETDATE()) '秒';

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  4.計算一個日期是星期幾

函式整理(T-SQL 版)

SELECT GETDATE(),
    DATENAME(YEAR, GETDATE()) '年份',
    DATENAME(QUARTER, GETDATE()) '季度',
    DATENAME(MONTH, GETDATE()) '月份',
    DATENAME(DAYOFYEAR, GETDATE()) '每年的某一日',
    DATENAME(DAY, GETDATE()) '日期',
    DATENAME(WEEK, GETDATE()) '星期',
    DATENAME(WEEKDAY, GETDATE()) '工作日',
    DATENAME(HOUR, GETDATE()) '小時',
    DATENAME(MINUTE, GETDATE()) '分鐘',
    DATENAME(SECOND, GETDATE()) '秒',
    DATENAME(MILLISECOND, GETDATE()) '毫秒';

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  5.取得日期的指定部分

  DATEPART() 函式的返回值是數字而 DATENAME() 函式則會將盡可能地以名稱的方式作為返回值。

函式整理(T-SQL 版)

SELECT GETDATE(),
    DATEPART(YEAR, GETDATE()) '年份',
    DATEPART(QUARTER, GETDATE()) '季度',
    DATEPART(MONTH, GETDATE()) '月份',
    DATEPART(DAYOFYEAR, GETDATE()) '每年的某一日',
    DATEPART(DAY, GETDATE()) '日期',
    DATEPART(WEEK, GETDATE()) '星期',
    DATEPART(WEEKDAY, GETDATE()) '工作日',
    DATEPART(HOUR, GETDATE()) '小時',
    DATEPART(MINUTE, GETDATE()) '分鐘',
    DATEPART(SECOND, GETDATE()) '秒',
    DATEPART(MILLISECOND, GETDATE()) '毫秒';

函式整理(T-SQL 版)

函式整理(T-SQL 版)

四、其他函式

  1.型別轉換

  CAST ( expression AS data_type)

  CONVERT ( data_type, expression)

SELECT CAST('-30' AS INT) AS v1,
    CONVERT(DECIMAL, '3.1415726') AS v2,
    CONVERT(DATETIME, '2008-08-08 08:09:10') AS v3;

函式整理(T-SQL 版)

  2.空值處理

  COALESCE ( expression, value1, value2……, valuen)

SELECT COALESCE('', GETDATE()) v1,
    COALESCE(NULL, GETDATE()) v2,
    COALESCE(NULL, '2008-08-08', GETDATE()) v3;

函式整理(T-SQL 版)

  NULLIF() 函式

  NULLIF ( expression1, expression2 )

函式整理(T-SQL 版)

DECLARE @nullIfExpression DATETIME = NULL;
SELECT NULLIF('1981-03-22 00:00:00.0', GETDATE()) v1,
    NULLIF(GETDATE(), '1981-03-22 00:00:00.0') v2,
    NULLIF(@nullIfExpression, GETDATE()) v3,
    NULLIF(GETDATE(), @nullIfExpression) v4,
    NULLIF(@nullIfExpression, @nullIfExpression) v5;

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  3.CASE 函式

函式整理(T-SQL 版)

  CASE expression
  WHEN value1 THEN returnvalue1
  WHEN value2 THEN returnvalue2
  WHEN value3 THEN returnvalue3
  ……
  ELSE defaultreturnvalue
  END

函式整理(T-SQL 版)

函式整理(T-SQL 版)

DECLARE @caseName NVARCHAR(100) = 'TONY';
SELECT (CASE @caseName
            WHEN 'TONY' THEN
                'Tony'
            WHEN 'MILI' THEN
                'MiLi'
            ELSE
                'Other'
        END
       ) AS Name;

函式整理(T-SQL 版)

函式整理(T-SQL 版)

函式整理(T-SQL 版)

DECLARE @caseAge INT = 20;
SELECT (CASE
            WHEN @caseAge > 60 THEN
                '老人'
            WHEN @caseAge > 30 THEN
                '中年'
            WHEN @caseAge >= 18 THEN
                '壯丁'
            ELSE
                '小屁孩'
        END
       ) AS '稱謂';

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  4.PATINDEX() 函式

SELECT 'Tom',
    PATINDEX('%_m%', 'Tom')
UNION
SELECT 'Lily',
    PATINDEX('%_m%', 'Lily');

函式整理(T-SQL 版)

  5.REPLICATE() 函式

SELECT 'Jim',
    REPLICATE('Jim', 1)
UNION
SELECT 'Tony',
    REPLICATE('Tony', 2);

函式整理(T-SQL 版)

  6.REVERSE() 字串顛倒

SELECT 'Jim',
    REVERSE('Jim')
UNION
SELECT 'Tony',
    REVERSE('Tony');

函式整理(T-SQL 版)

  7.ISDATE() 函式

  ISDATE() 函式用來確定輸入表示式是否為有效日期。如果輸入表示式是有效日期,那麼 ISDATE 返回 1;否則,返回 0。

  ISDATE ( expression )

函式整理(T-SQL 版)

SELECT ISDATE(NULL) AS d1,
    ISDATE('13/43/3425') AS d2,
    ISDATE('1995-10-1a') AS d3,
    ISDATE(19920808) AS d4,
    ISDATE('1/23/95') AS d5,
    ISDATE('1995-10-1') AS d6,
    ISDATE('19920808') AS d7,
    ISDATE(' Abc') AS d8;

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  8.ISNUMERIC() 函式

  ISNUMERIC(expression) 函式用來確定表示式是否為有效的數值型別。如果輸入表示式的計算值為有效的整數、浮點數、money 或 decimal 型別時,ISNUMERIC 返回 1;否則返回 0。

函式整理(T-SQL 版)

SELECT ISNUMERIC(NULL) AS d1,
    ISNUMERIC('13/43/3425') AS d2,
    ISNUMERIC('30a.8') AS d3,
    ISNUMERIC(19920808) AS d4,
    ISNUMERIC('1/23/95') AS d5,
    ISNUMERIC('3E-3') AS d6,
    ISNUMERIC('19920808') AS d7,
    ISNUMERIC('-30.3') AS d8;

函式整理(T-SQL 版)

函式整理(T-SQL 版)

  9.輔助功能函式

  APP_NAME() 函式 返回當前會話的應用程式名稱;
  CURRENT_USER 函式(注意這個函式不能帶括號呼叫)返回當前登陸使用者名稱;
  HOST_NAME() 函式 返回工作站名。

SELECT APP_NAME() AppName,
    CURRENT_USER CurrentUser,
    HOST_NAME() HostName,
    NEWID() UUID;

函式整理(T-SQL 版)

分類: 科技
時間: 2021-12-20

相關文章

三星Galaxy Tab A8 2021平板電腦規格與5K高畫質概念渲染圖曝光

三星Galaxy Tab A8 2021平板電腦規格與5K高畫質概念渲染圖曝光
作為定位中端的 Galaxy Tab A7 平板電腦的繼任者,三星或很快推出 Galaxy Tab A8(2021).最新訊息是,91Mobile 已經攜手 @OnLeaks,分享了這款傳聞中的裝置的 ...

傳蘋果AR/VR頭顯需要連線iPhone、iPad等裝置,才能提供全部功能

傳蘋果AR/VR頭顯需要連線iPhone、iPad等裝置,才能提供全部功能
據英國科技媒體<The Information>報道,蘋果正在開發的AR/VR頭顯將需要一臺主裝置才能實現全部功能. 此前,<The Information>.彭博社和分析師郭 ...

RK3399助力商顯產業|高畫質細緻,靈敏迅捷

RK3399助力商顯產業|高畫質細緻,靈敏迅捷
在數字化及資訊科技蓬勃發展的環境下,戶外資訊傳播顯得尤為重要,商顯產業迎來爆發式發展的機遇,在教育.視窗業務辦理.餐飲及零售等場景起到關鍵性的引導作用.明遠智睿高效能RK3399-EK314開發板,助 ...

蘋果AR頭顯來了 再一次改變一切?

蘋果AR頭顯來了 再一次改變一切?
前幾天的蘋果秋季釋出會上竟然沒有蘋果AR/VR頭顯的身影,這讓不少的網友紛紛失望.但現在據供應鏈訊息稱,蘋果首款AR頭顯已完成P2 ,預計2022年第2季量產,同年下半年有望問世. 圖片來源網路 在谷 ...

蘋果首款 AR 頭顯裝置將在 2022 年釋出?售價 2000 美元起

蘋果首款 AR 頭顯裝置將在 2022 年釋出?售價 2000 美元起
眾所周知,蘋果作為手機行業的巨頭,其影響力不止用強悍這個詞來形容,最新發布的 iPhone 13 系列點燃了網友火焰般的熱情,線下旗艦店幾乎是處於爆滿的狀態.近期,有訊息稱,蘋果即將進軍 AR 領域, ...

關於Facebook下一款VR頭顯Oculus Quest Pro,我們所知道的一切

關於Facebook下一款VR頭顯Oculus Quest Pro,我們所知道的一切
來自Facebook高層的暗示和Oculus韌體中的參考資訊表明,Oculus Quest Pro正在開發中.但是,Quest Pro到底是什麼?與目前的Oculus Quest 2相比,它會有哪些新 ...

Lynx AR-VR 頭顯在 Kickstarter 上釋出,售價600美元

Lynx AR-VR 頭顯在 Kickstarter 上釋出,售價600美元
據外媒訊息稱,法國初創公司 Lynx 今日在 Kickstarter 網站上釋出了獨立AR - VR 混合頭顯,這款裝置的預計金額超過 530 歐元,相當於 4000 元. Lynx R1 最初於 2 ...

直-20航電系統三大“黑科技”:玻璃化座艙、夜視轉塔和先進頭顯

直-20航電系統三大“黑科技”:玻璃化座艙、夜視轉塔和先進頭顯
直-20作為我國研製的新一代10噸級通用直升機,其自首次公開亮相以來,就受到人們的廣泛關注,其效能特點.採用了哪些先進的技術.作戰用途.未來將會發展出哪些機型等,無一不是人們討論.關注的焦點.那麼,作 ...

北魏《元顯俊墓誌》,峻快清勁,勢貫風神,高畫質大圖

北魏《元顯俊墓誌》,峻快清勁,勢貫風神,高畫質大圖
北魏<元顯俊墓誌> 現藏於南京博物院 墓誌蓋以楷書題 "魏故處士元君墓誌"八字 志與蓋二石合成龜形 鐫制奇詭 為歷代志石中之僅見 此志書法峻快清勁,鋒穎秀拔 結體精整雅 ...

Magic Leap下一代AR頭顯Magic Leap 2將於2022年推出

Magic Leap下一代AR頭顯Magic Leap 2將於2022年推出
自2018年釋出開創性的AR頭顯Magic Leap One 1之後,知名AR公司Magic Leap一直沒有推出新硬體.近日,Magic Leap執行長Peggy Johnson分享了有關Magic ...

山東一萌娃給自己喂麵條,頭抬得老高半天吃不到,網友:講究人

山東一萌娃給自己喂麵條,頭抬得老高半天吃不到,網友:講究人
導語:萌娃在餐廳給自己喂麵條,頭抬得老高結果半天都吃不到,讓我們一起來看看這究竟是怎麼回事吧? 近日,在山東濰坊,一位媽媽帶著家裡的萌娃來到餐廳吃飯,沒想到萌娃一個動作實在太可愛了.之間,這位萌娃用手 ...

HTC一體式VR頭顯Vive Flow疑似被洩露,大量宣傳圖公佈

HTC一體式VR頭顯Vive Flow疑似被洩露,大量宣傳圖公佈
檢視引用/資訊源請點選:映維網 疑似Vive Flow真機的渲染圖 (映維網 2021年10月13日)市場普遍相信HTC將在週四的活動中釋出一款輕量級的消費者VR一體機Vive Flow.儘管過去數週 ...

Nreal徐馳:終端是混合現實技術發展基礎
10月13日,在介面新聞主辦的首屆REAL科技大會上,Nreal創始人兼CEO徐馳表示,混合現實並不是一個陌生的概念,從業者希望在真實世界基礎上,把數字化虛擬內容呈現出來.徐馳認為,混合現實技術發展中 ...

傳HTC將在10月14日釋出消費級一體式VR頭顯
HTC或在10月14日的線上活動中釋出一款全新的消費者頭顯.過去數週時間出現了大量關於"Vive Flow"的官方暗示和媒體報道.當然,關於這款新裝置的資訊十分缺乏,而據Proto ...

看不懂高畫質介面HDMI的版本號,可能你已掉進商家的文字遊戲陷阱

看不懂高畫質介面HDMI的版本號,可能你已掉進商家的文字遊戲陷阱
高畫質晰度多媒體介面簡稱HDMI介面,是當下眾多音影片裝置常見的一種介面,但HDMI發展至今有著多個不同版本,如果你不了的話,非常可能陷入商家的文字遊戲陷阱. HDMI呈扁寬梯形設計,線纜兩端都是公頭 ...

英特爾第12代酷睿i9-12900K高畫質圖曝光 配全新HGS+功能

英特爾第12代酷睿i9-12900K高畫質圖曝光 配全新HGS+功能
國內影片數碼博主@結城安穗-YuuKi_AnS 近日分享了英特爾酷睿i9-12900K Alder Lake 旗艦 CPU 高畫質解析度實物照.這位數碼博主昨日爆料有使用者在閒魚上出售 i9-1290 ...

一騎驍雄!18款AMG GLC63升級高畫質儀表屏、顯示屏及碳纖方向盤

一騎驍雄!18款AMG GLC63升級高畫質儀表屏、顯示屏及碳纖方向盤
凌厲外表天生出眾,轎跑與SUV的破界融合,將AMG效能.優雅與豪華集於一身,這麼一款AMG車型,說的就是梅賽德斯-AMG GLC63 4MATIC+ 轎跑型SUV,一騎驍雄,盡顯超凡光彩! 今天邁卡庫 ...

畫質提升8倍!《GTA:聖安地列斯》AI高畫質MOD釋出

畫質提升8倍!《GTA:聖安地列斯》AI高畫質MOD釋出
MOD製作者"flyaway888"為<俠盜獵車手聖安地列斯>釋出了一個全新的高畫質MOD,這個MOD使用AI增強技術大幅提升了遊戲的紋理貼圖畫質,製作者釋出了一段MO ...

雲南8大名花高畫質組圖 總有一朵會驚豔到你

雲南8大名花高畫質組圖 總有一朵會驚豔到你
相約COP15[雲南8大名花高畫質組圖 總有一朵會驚豔到你]在雲南,各種各樣的名貴花草數不勝數.雲南擁有2100多種觀賞植物,其中花卉植物在1500種以上,不少是珍奇種類和特產植物,堪稱為珍樹.奇花. ...

房屋裝修效果高畫質圖片

房屋裝修效果高畫質圖片
每日更新各式房屋裝修效果圖片供大家欣賞,敬請關注加收藏,以便查詢.這裡有海量樣板房高畫質圖片,風格多樣,空間廣泛,設計新穎.時尚簡約,期待大家前來品鑑