[sql] 常用函數整理(T-SQL 版)

来源:http://www.cnblogs.com/liqingwen/archive/2017/09/05/7478023.html
-Advertisement-
Play Games

USE master; --5.2 字元串函數 --1.計算字元串長度 SELECT LEN('abc'); --2.字元串轉換為小寫 SELECT 'A', LOWER('a'); --3.字元串轉換為大寫 SELECT 'a', UPPER('a'); --4.截去字元串左側空格 SELECT ... ...


USE master;

--5.2 字元串函數
--1.計算字元串長度
SELECT LEN('abc');

--2.字元串轉換為小寫
SELECT 'A',
    LOWER('a');

--3.字元串轉換為大寫
SELECT 'a',
    UPPER('a');

--4.截去字元串左側空格
SELECT ' a ',
    LTRIM(' a ');

--5.截去字元串右側空格
SELECT ' a ',
    RTRIM(' a ');

--6.截去字元串兩側的空格
SELECT ' a ',
    RTRIM(LTRIM(' a '));

--7.取子字元串
SELECT 'abcdef',
    SUBSTRING('abcdef', 2, 3);

--8.計運算元字元串的位置
SELECT 'abcdef',
    CHARINDEX('abcdef', 'abcdef');

--9.從左側開始取子字元串
SELECT 'abcdef',
    LEFT('abcdef', 3);

--10.從右側開始取子字元串
SELECT 'abcdef',
    RIGHT('abcdef', 3);

--11.字元串替換
SELECT REPLACE(' abc def', ' ', '');

--12.得到字元的 ASCII 碼
SELECT ASCII('a'),
    ASCII('abc');

--13.得到一個 ASCII 碼數字對應的字元
SELECT CHAR(56),
    CHAR(90),
    CHAR(ASCII('a'));

--轉換為整數
SELECT CEILING(90.021);

--14.發音匹配度
SELECT SOUNDEX('jack'),
    SOUNDEX('jeck'),
    SOUNDEX('joke'),
    SOUNDEX('juke'),
    SOUNDEX('look'),
    SOUNDEX('jobe');
SELECT DIFFERENCE('Kerry', 'Merry');

--5.3 日期時間函數
--1.取得當前日期時間的函數為 GETDATE()
SELECT GETDATE();
SELECT CONVERT(VARCHAR(50), GETDATE(), 101) AS 當前日期,
    CONVERT(VARCHAR(50), GETDATE(), 108) AS 當前時間;

--日期增減
SELECT GETDATE(),
    DATEADD(YEAR, 3, GETDATE()) AS threeyrs,
    DATEADD(QUARTER, 20, GETDATE()) AS ttqutrs,
    DATEADD(MONTH, 68, GETDATE()) AS sxtmonths,
    DATEADD(WEEK, -1000, GETDATE()) AS thweeik;

--計算日期差額
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()) '';

-- 5.3.6 計算一個日期是星期幾
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()) '毫秒';

-- 5.3.7 取得日期的指定部分
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()) '毫秒';

-- DATEPART() 函數的返回值是數字而 DATENAME() 函數則會將儘可能的以名稱的方式做為返回值

-- 5.4 其他函數
-- 5.4.1 類型轉換
--CAST ( expression AS data_type)
--CONVERT ( data_type, expression)

SELECT
CAST('-30' AS INT) as i,
CONVERT(DECIMAL,'3.1415726') as d,
CONVERT(DATETIME,'2008-08-08 08:09:10') as dt

-- 5.4.2 空值處理
-- 5.4.2.1 COALESCE()函數
-- COALESCE ( expression,value1,value2……,valuen)
SELECT COALESCE('', GETDATE()),
    COALESCE(NULL, GETDATE()),
    COALESCE(NULL, '2008-08-08',GETDATE())

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用zTree插件實現樹形圖中,需要獲取當前點擊的父節點的子節點數的需求,使用treeNode.children獲取子節點數據集合,使用length方法獲取集合長度。將當前節點的treeNode傳入即可調用。/*查找當前節點下一級的子節點數*/function findNodes(treeNode) ...
  • 正則表達式(regular expression)是一個描述字元模式的對象。使用JavaScript正則表達式可以進行強大的模式匹配和文本檢索與替換功能。 手機號碼正則表達式驗證。 或者 感謝 丐幫流寇 的提醒,我查了一下瞭解了“ 小括弧就是括弧內看成一個整體 ,中括弧就是匹配括弧內的其中一個”· ...
  • 1、父組件向子組件傳遞參數 2、子組件向父組件傳遞參數 ...
  • 轉載無源頭地址 在這篇文章中,將比較深入地闡述下執行上下文 – JavaScript中最基礎也是最重要的一個概念。相信讀完這篇文章後,你就會明白javascript引擎內部在執行代碼以前到底做了些什麼,為什麼某些函數以及變數在沒有被聲明以前就可以被使用,以及它們的最終的值是怎樣被定義的。 什麼是執行 ...
  • 之前讀過一篇關於“什麼是全棧設計師”的文章,裡面提到所謂的全棧設計師就是能做線框圖、原型圖,能做視覺稿,能寫前後端代碼。放到產品設計中,全棧設計師就是能一個人搞定產品開發的所有環節。其中,最原始、最關鍵的一個環節就是線框或者說原型設計。這個環節的意義就相當於上層建築的扎實地基。那麼打造地基的工具很重 ...
  • 昨天剛裝的Genymotion,昨晚還用得好好的。 今晚開機,重新打開Genymotion,卻提示:"Unable to connect to the Genymotion server. Please check your Internet connection."。 看提示,我以為是網路問題,分 ...
  • 一、前沿||潛心修心,學無止盡。生活如此,coding亦然。本人鳥窩,一隻正在求職的鳥。聯繫我可以直接微信:jkxx123321 二、項目總結 **||**文章參考資料:1. http://blog.csdn.net/u011272795/article/details/73824558 2.htt ...
  • 一般情況,在- (void)webViewDidFinishLoad:(UIWebView *) webView方法里添加如下代碼: 這方法有時候會失效! 這方法在沒有改變webview的字體大小的時候還是使用正常的,但是你在改了字體大小或者圖片大小等之後是沒有效果的, webview的高度還是原來 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...