SQL的TO_NUMBER函數(shù)的用法和示例

sql
小樊
116
2024-08-08 02:26:46
欄目: 云計(jì)算

TO_NUMBER函數(shù)是Oracle SQL中的一個(gè)內(nèi)置函數(shù),用于將字符型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。它的語(yǔ)法如下:

TO_NUMBER(string, [format_mask], [nls_language])

參數(shù)說明:

  • string:要轉(zhuǎn)換為數(shù)值型的字符型數(shù)據(jù)。
  • format_mask:可選參數(shù),用于指定字符串的格式。如果不提供format_mask,則會(huì)使用默認(rèn)的格式。
  • nls_language:可選參數(shù),用于指定語(yǔ)言環(huán)境。

示例:

SELECT TO_NUMBER('12345') AS num FROM dual;

-- 輸出結(jié)果為:
-- num
-- ----
-- 12345

在上面的示例中,TO_NUMBER函數(shù)將字符型數(shù)據(jù)’12345’轉(zhuǎn)換為數(shù)值型數(shù)據(jù)12345。

另外,TO_NUMBER函數(shù)還可以配合format_mask參數(shù)使用,比如將帶有千位分隔符的字符串轉(zhuǎn)換為數(shù)值型數(shù)據(jù):

SELECT TO_NUMBER('12,345.67', '999G999D99', 'NLS_NUMERIC_CHARACTERS = '',.''') AS num FROM dual;

-- 輸出結(jié)果為:
-- num
-- ----
-- 12345.67

在這個(gè)例子中,TO_NUMBER函數(shù)使用了format_mask參數(shù)’999G999D99’,以及nls_language參數(shù)’NLS_NUMERIC_CHARACTERS = ‘’,.‘’',將帶有千位分隔符的字符串’12,345.67’轉(zhuǎn)換為數(shù)值型數(shù)據(jù)12345.67。

0