- SQL 教程
- SQL - 首頁
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 資料庫
- SQL - 語法
- SQL - 資料型別
- SQL - 運算子
- SQL - 表示式
- SQL 資料庫
- SQL - 建立資料庫
- SQL - 刪除資料庫
- SQL - 選擇資料庫
- SQL - 重新命名資料庫
- SQL - 顯示資料庫
- SQL - 備份資料庫
- SQL 表
- SQL - 建立表
- SQL - 顯示錶
- SQL - 重命名錶
- SQL - 截斷表
- SQL - 克隆表
- SQL - 臨時表
- SQL - 修改表
- SQL - 刪除表
- SQL - 刪除表資料
- SQL - 約束
- SQL 查詢
- SQL - INSERT 查詢
- SQL - SELECT 查詢
- SQL - SELECT INTO
- SQL - INSERT INTO SELECT
- SQL - UPDATE 查詢
- SQL - DELETE 查詢
- SQL - 排序結果
- SQL 檢視
- SQL - 建立檢視
- SQL - 更新檢視
- SQL - 刪除檢視
- SQL - 重新命名檢視
- SQL 運算子和子句
- SQL - WHERE 子句
- SQL - TOP 子句
- SQL - DISTINCT 子句
- SQL - ORDER BY 子句
- SQL - GROUP BY 子句
- SQL - HAVING 子句
- SQL - AND & OR
- SQL - 布林 (BIT) 運算子
- SQL - LIKE 運算子
- SQL - IN 運算子
- SQL - ANY, ALL 運算子
- SQL - EXISTS 運算子
- SQL - CASE
- SQL - NOT 運算子
- SQL - 不等於
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 運算子
- SQL - UNION 運算子
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 運算子
- SQL - EXCEPT 運算子
- SQL - 別名
- SQL 連線
- SQL - 使用連線
- SQL - INNER JOIN
- SQL - LEFT JOIN
- SQL - RIGHT JOIN
- SQL - CROSS JOIN
- SQL - FULL JOIN
- SQL - 自連線
- SQL - DELETE JOIN
- SQL - UPDATE JOIN
- SQL - LEFT JOIN vs RIGHT JOIN
- SQL - UNION vs JOIN
- SQL 金鑰
- SQL - UNIQUE KEY
- SQL - PRIMARY KEY
- SQL - FOREIGN KEY
- SQL - 組合鍵
- SQL - 備選鍵
- SQL 索引
- SQL - 索引
- SQL - 建立索引
- SQL - 刪除索引
- SQL - 顯示索引
- SQL - UNIQUE 索引
- SQL - 叢集索引
- SQL - 非叢集索引
- 高階 SQL
- SQL - 萬用字元
- SQL - 註釋
- SQL - 注入
- SQL - 託管
- SQL - MIN & MAX
- SQL - NULL 函式
- SQL - CHECK 約束
- SQL - DEFAULT 約束
- SQL - 儲存過程
- SQL - NULL 值
- SQL - 事務
- SQL - 子查詢
- SQL - 處理重複項
- SQL - 使用序列
- SQL - 自動遞增
- SQL - 日期和時間
- SQL - 遊標
- SQL - 公共表表達式
- SQL - GROUP BY vs ORDER BY
- SQL - IN vs EXISTS
- SQL - 資料庫調優
- SQL 函式參考
- SQL - 日期函式
- SQL - 字串函式
- SQL - 聚合函式
- SQL - 數值函式
- SQL - 文字和影像函式
- SQL - 統計函式
- SQL - 邏輯函式
- SQL - 遊標函式
- SQL - JSON 函式
- SQL - 轉換函式
- SQL - 資料型別函式
- SQL 有用資源
- SQL - 問答
- SQL - 快速指南
- SQL - 有用函式
- SQL - 有用資源
- SQL - 討論
SQL - PARSE() 函式
SQL 的PARSE() 函式是一個轉換函式,它將字串資料轉換為所需的資料格式,並將結果作為表示式返回。建議使用此 SQL PARSE 函式將字串資料更改為日期/時間或數值型別。
語法
以下是 SQL PARSE() 函式的語法:
PARSE ( string_value AS data_type [ USING culture ] )
引數
此函式僅接受三個引數。下面描述了這些引數:
string_value − 這是我們要更改為特定資料型別的表示式。
data_type − 這是我們要將 string_value 轉換成的的資料型別。
culture − 這是一個可選引數,用於格式化字串值的區域設定。
讓我們在下面的表格中檢視 PARSE 支援的區域設定:
| 區域設定 | 完整名稱 | 語言 |
|---|---|---|
| en-US | us_english | 英語 |
| de-DE | Deutsch | 德語 |
| fr-FR | Français | 法語 |
| ja-JP | 日本語 | 日語 |
| da-DK | Dansk | 丹麥語 |
| es-ES | Español | 西班牙語 |
| it-IT | Italiano | 義大利語 |
| nl-NL | Nederlands | 荷蘭語 |
| nn-NO | Norsk | 挪威語 |
| pt-PT | Português | 葡萄牙語 |
| fi-FI | Suomi | 芬蘭語 |
| sv-SE | Svenska | 瑞典語 |
| cs-CZ | Čeština | 捷克語 |
| hu-HU | magyar | 匈牙利語 |
| pl-PL | polski | 波蘭語 |
| ro-RO | română | 羅馬尼亞語 |
| hr-HR | hrvatski | 克羅埃西亞語 |
| sk-SK | slovenčina | 斯洛伐克語 |
| sl-SI | slovenski | 斯洛維尼亞語 |
| el-GR | ελληνικά | 希臘語 |
| bg-BG | български | 保加利亞語 |
| ru-RU | русский | 俄語 |
| tr-TR | Türkçe | 土耳其語 |
| en-GB | British | 英式英語 |
| et-EE | eesti | 愛沙尼亞語 |
| lv-LV | latviešu | 拉脫維亞語 |
| lt-LT | lietuvių | 立陶宛語 |
| pt-BR | Português (Brasil) | 巴西葡萄牙語 |
| zh-TW | 繁體中文 | 繁體中文 |
| ko-KR | 한국어 | 韓語 |
| zh-CN | 簡體中文 | 簡體中文 |
| ar-SA | 阿拉伯語 | 阿拉伯語 |
| th-TH | ไทย | 泰語 |
示例
讓我們嘗試使用以下查詢將字串解析為 datetime2:
SELECT PARSE('THURSDAY, 23 february 2023' AS datetime2 USING 'zh-CN') AS Result;
輸出
當我們執行上面的查詢時,輸出如下:
+------------------------------------+ | Result| +------------------------------------+ | 2023-02-23 00:00:00.0000000 | +------------------------------------+
示例
讓我們看看另一個場景,使用以下查詢將字串解析為 datetime:
SELECT PARSE('02/23/2023' AS DATETIME) AS Result;
輸出
當我們執行上面的查詢時,輸出如下:
+------------------------------------+ | Result| +------------------------------------+ | 2023-02-23 00:00:00.000 | +------------------------------------+
示例
讓我們嘗試使用以下查詢將字串解析為 int:
SELECT PARSE('123.000' AS INT) AS Result;
輸出
執行上述查詢後,輸出如下所示:
+------------------------------------+ | Result| +------------------------------------+ | 123 | +------------------------------------+
示例
考慮以下示例,我們將透過執行以下查詢將字串解析為數值:
DECLARE @string AS VARCHAR(9) SET @string = '56789' SELECT PARSE(@string AS DECIMAL(8, 2)) AS decimalresult; SELECT PARSE(@string AS MONEY) AS moneyresult;
輸出
執行上述查詢後,輸出如下所示:
+-------------------+ | decimalresult | +-------------------+ | 56789.00 | +-------------------+ +-------------------+ | moneyresult | +-------------------+ | 56789.00 | +-------------------+
示例
讓我們看看以下示例,我們將使用 NULL 值進行解析,並執行以下查詢:
SELECT PARSE(NULL AS INT) AS Result;
輸出
上面查詢的輸出如下所示:
Argument data type NULL is invalid for argument 1 of parse function.
示例
檢視另一個場景,我們傳遞 NULL 作為引數並使用以下查詢檢查結果:
DECLARE @txt AS VARCHAR(22); SET @txt = NULL SELECT PARSE(@txt AS INT) AS Result;
輸出
如果我們編譯並執行上面的查詢,結果將如下所示:
+------------------------------------+ | Result| +------------------------------------+ | NULL | +------------------------------------+
示例
讓我們看看以下示例,使用 parse() 函式將字串解析為日期,使用以下查詢:
SELECT PARSE('February/23/2023' AS date) AS Result;
輸出
執行上述查詢後,將生成如下所示的輸出:
+------------------------------------+ | Result| +------------------------------------+ | 2023-02-23 | +------------------------------------+
示例
讓我們考慮另一個示例,我們將使用 parse 將其轉換為數值型別,使用以下查詢:
SELECT PARSE('1,2,3,4,5' AS int) As Result;
輸出
查詢執行後,將生成如下所示的輸出:
+------------------------------------+ | Result| +------------------------------------+ | 12345 | +------------------------------------+
示例
考慮以下示例,我們使用不同的區域設定進行解析並使用以下查詢檢查結果:
SELECT PARSE('30,000' AS decimal(8,2) USING 'en-US') AS inEnglish ;
SELECT PARSE('30,000' AS decimal(8,2) USING 'fr-FR') AS inFrench;
輸出
當我們執行上面的查詢時,輸出如下:
+-------------------+ | inEnglish | +-------------------+ | 30000.00 | +-------------------+ +-------------------+ | inFrench | +-------------------+ | 30.00 | +-------------------+
sql-conversion-functions.htm
廣告