Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hàm INITCAP () trong Oracle

Trong Oracle, INITCAP() hàm trả về đối số của nó với chữ cái đầu tiên của mỗi từ là chữ hoa và tất cả các chữ cái khác ở dạng chữ thường.

Đối với yêu cầu ngôn ngữ đặc biệt cho chuyển đổi chữ hoa chữ thường, bạn có thể muốn thử NLS_INITCAP() chức năng thay thế.

Cú pháp

Cú pháp như sau:

INITCAP(char)

Ở đâu char có thể thuộc bất kỳ kiểu dữ liệu nào CHAR , VARCHAR2 , NCHAR hoặc NVARCHAR2 .

Ví dụ

Dưới đây là một ví dụ đơn giản để chứng minh:

SELECT INITCAP('ponzi investment house')
FROM DUAL;

Kết quả:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Điều gì sẽ xảy ra nếu tôi vượt qua tất cả các chữ cái UPPERCASE?

Việc chuyển tất cả các chữ cái viết hoa không làm thay đổi kết quả:

SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL;

Kết quả:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Giá trị rỗng

Chuyển null trả về null :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Kết quả:

   INITCAP(NULL) 
________________ 
null            

Theo mặc định, SQLcl và SQL * Plus trả về một khoảng trống bất cứ khi nào null xảy ra do một SELECT trong SQL tuyên bố.

Tuy nhiên, bạn có thể sử dụng SET NULL để chỉ định một chuỗi khác được trả về. Ở đây tôi đã chỉ định rằng chuỗi null nên được trả lại.

Số lượng đối số không chính xác

Đang gọi INITCAP() mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:

SELECT INITCAP()
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT INITCAP()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

Và việc chuyển sai số đối số dẫn đến lỗi:

SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:sự khác biệt giữa max (id) +1 và sequence.nextval

  2. ORA-00604 ORA-12705

  3. Cách xuất dữ liệu thành tệp CSV trong Oracle bằng quy trình PL SQL

  4. C #:Tương đương kiểu dữ liệu Oracle với OracleDbType

  5. Oracle:Làm thế nào để biết được có một giao dịch đang chờ xử lý hay không?