So sánh chuỗi trong oracle

sql: Chuỗi charindex[' ', trường] > 0 charindex['administrator',MUserID]>0

oracle: instr[field, 'string', 1,1]> 0instr[MUserID,'administrator',1,1]>0

Hàm Instr trong Oracle được sử dụng trong dự án.Nhân tiện, tôi đã học được kiến ​​thức này một lần nữa.

Trong Oracle, bạn có thể sử dụng tính năng Instr để xác định chuỗi và xác định xem nó có chứa ký tự được chỉ định hay không.

Ngữ pháp của nó:

Instr[string, substring, position, occurrence]

trong

string: Đại diện cho chuỗi nguồn;

substring: Cho biết chuỗi phụ để tìm trong chuỗi nguồn;

position: Cho biết vị trí bắt đầu của tìm kiếm, tham số này là tùy chọn, mặc định là 1;

occurrence: Điều này có nghĩa là bạn phải tìm substring đầu tiên xuất hiện từ ký tự nguồn.Tham số này cũng là tùy chọn, giá trị mặc định là 1;Mặc định là 1.

Nếu giá trị của position âm tính, nó có nghĩa là từ phải sang tìm kiếm bên trái.

Giá trị trả về là: Vị trí của chuỗi tìm thấy.

Đối với các hàm V9Lel2o, chúng ta thường sử dụng nó: Xác định vị trí của chuỗi phụ được chỉ định từ chuỗi.

Ví dụ:

Kết quả của màn hình SW0Y SELECT Instr['HelloWord', 'o', -1, 1] "String" là

Instring


Page 2

Dữ liệu được hiển thị:

Mục tiêu là để có được dòng dữ liệu ID=4443, chỉ cần ghi lại ba cách viết:

Loại đầu tiên substr:

SELECT * FROM TESTWHERE SUBSTR[NOTE ,-1] = CHR[37];

Thứ hai escape:

SELECT * FROM TEST AWHERE A.NOTE LIKE '%\%' escape '\';

Loại thứ ba, biểu thức thông thường:

SELECT * FROM TESTWHERE REGEXP_LIKE[NOTE,'%$'];

Page 3

phương pháp:

1. Xóa tất cả các ràng buộc khóa ngoại

Bàn 2, drop

3, thêm các ràng buộc khóa ngoại

Mã tạo powerdesign

/*==============================================================*//* DBMS name: ORACLE Version 10g *//* Created on: 2013/8/16 14:30:03 *//*==============================================================*/alter table Da_picdrop constraint FK_DA_PIC_REFERENCE_DA_PICSU;drop table Da_pic cascade constraints;drop table Da_picsubject cascade constraints;/*==============================================================*//* Table: Da_pic *//*==============================================================*/create table Da_pic [ID VARCHAR2[200] not null,no VARCHAR2[200],subjiectid VARCHAR2[200],Name VARCHAR2[400],UploadTime DATE,UserId VARCHAR2[200],picdate DATE,place VARCHAR2[200],people VARCHAR2[200],event VARCHAR2[200],background VARCHAR2[200],cameramen VARCHAR2[200],serial INTEGER,IsEffect VARCHAR2[200],constraint PK_DA_PIC primary key [ID]];/*==============================================================*//* Table: Da_picsubject *//*==============================================================*/create table Da_picsubject [ID VARCHAR2[200] not null,no VARCHAR2[200],title VARCHAR2[200],year VARCHAR2[200],type VARCHAR2[200],gdtime DATE,iseffect VARCHAR2[200],seiral INTEGER,constraint PK_DA_PICSUBJECT primary key [ID]];alter table Da_picadd constraint FK_DA_PIC_REFERENCE_DA_PICSU foreign key [subjiectid]references Da_picsubject [ID];

Page 4

Giới hạn kích thước mặc định tệp dữ liệu Oracle là 32G, nếu bạn muốn tệp dữ liệu lớn hơn 32G, bạn cần thiết lập khi bắt đầu cơ sở dữ liệu.

Dung lượng của không gian bảng và tệp dữ liệu có liên quan đến DB_BLOCK_SIZE.Khi bạn lần đầu tiên xây dựng thư viện, DB_BLOCK_SIZE nên được đặt thành 4K,8K, 16K, P2GGY6T, 64K và các kích thước khác theo nhu cầu thực tế.Tệp vật lý của MX7 chỉ cho phép tối đa 4194304 khối dữ liệu [được xác định bởi hệ điều hành] và giá trị tối đa của tệp dữ liệu không gian bảng là 4194304 × DB_BLOCK_SIZE\/1024M.

đó là:

  • Không gian bảng tối đa 4k là: 16384M=16G

  • Không gian bảng tối đa 8K là: 32768M=32G

  • Không gian bảng tối đa 16k là: 65536M=64G

  • Không gian bảng tối đa 32K là: 131072M=128G

  • Không gian bảng tối đa 64k là: 262144M=256G

2K, 4K, 8K, 16K Kích thước khối có thể được sử dụng theo windows, như được mô tả dưới đây.

Oracle Database Administrator's Guide10g Release 2 [10.2]Part Number B14231-02/B19306_01/server.102/b14231/create.htm#sthref372 có các mô tả sau đây:Tablespaces of nonstandard block sizes can be created using the CREATE TABLESPACE statement and specifying the BLOCKSIZE clause. These nonstandard block sizes can have any of the following power-of-two values: 2K, 4K, 8K, 16K or 32K. Platform-specific restrictions regarding the maximum block size apply, so some of these sizes may not be allowed on some platforms.To use nonstandard block sizes, you must configure subcaches within the buffer cache area of the SGA memory for all of the nonstandard block sizes that you intend to use. The initialization parameters used for configuring these subcaches are described in the next section, "Managing the System Global Area [SGA]".

Trong đoạn trước, một số kích thước khối không khả dụng trên một số nền tảng nhất định, tùy thuộc vào hệ điều hành.Ví dụ: kích thước khối của windows được giới hạn ở mức 2048 byte đến 16384 byte, cho dù đó là một khối không chuẩn hoặc khối tiêu chuẩn.Theo //www.ningoo.net/html/2007/can_not_use_32k_block_size_on_windows.html, nếu P2GGY6T được sử dụng làm db_block_size để tạo cơ sở dữ liệu theo Windows, lỗi ORA-00374 sẽ được báo cáo..

Giải thích sau đây nói rằng các tham số bộ nhớ tương ứng nên được đặt khi sử dụng các khối không chuẩn.

Oracle là quản lý bộ nhớ chia sẻ tự động SGA, các tham số khởi tạo db_4k_cache_size=0, db_8k_cache_size=0, db_16k_cache_size=0,

db_32k_cache_size= 0, db_64k_cache_size= 0, sử dụng

Nếu bạn muốn tạo không gian bảng và chỉ định kích thước tệp của nó [được xác định bởi không gian bảng BLOCK_SIZE đã tạo], bạn cần đặt lại giá trị của db_4k_cache_size, db_8k_cache_size, db_16k_cache_size, db_32k_cache_size, db_64k_cache_size.

db_4k_cache_size:alter system set db_4k_cache_size = 4M scope=both;db_8k_cache_size:alter system set db_8k_cache_size = 8M scope=both;db_16k_cache_size:alter system set db_16k_cache_size = 16M scope=both;db_32k_cache_size:alter system set db_32k_cache_size = 32M scope=both;db_64k_cache_size:alter system set db_64k_cache_size = 64M scope=both;

Trong đó hệ thống windows chỉ hỗ trợ cài đặt cho 4k, 8K và 16k.

Sau khi đặt giá trị của các tham số trên, hãy tạo không gian bảng:

CREATE TABLESPACE TEST DATAFILE 'E:\TEST.DBF'SIZE 60GAUTOEXTEND ONBLOCKSIZE 16KEXTENT MANAGEMENT LOCAL UNIFORM SIZE 2MSEGMENT SPACE MANAGEMENT AUTO;

SIZE: Kích thước của tệp dữ liệu không thể vượt quá giá trị của BLOCKSIZE16k [tương ứng với db_16k_cache_size] Kích thước 16M*4194304\/1024M=65536M=64G.


Ở bài trước chúng ta đã được học lệnh SELECT và trong lệnh SELECT thì có sử dụng WHERE, vậy thì ở WHERE chúng ta có thể sử dụng những toán tử so sánh nào? Mời các bạn xem phần phía dưới dây.

1. Comparison Operators là gì?

Trong Oracle Comparison Operators là các toán tử so sánh, nó dùng để so sánh mối liên quan giữa hai vế dữ liệu đó là vế phải và vế trái, kết quả sẽ trả về TRUE hoặc FALSE tùy thuộc vào từng toán tử.

Mời các bạn xem bảng danh sách các toán tử dưới đây.

Comparison Operator Description = 1000;

Lấy danh sách nhà cung cấp có ID là 10, 20 hoặc 30.

SELECT * FROM suppliers WHERE supplier_id IN[10, 20, 30];

Lấy dánh nhà cung cấp có ID trong khoảng 100 đến 2000.

SELECT * FROM suppliers WHERE supplier_id BETWEEN 100 AND 2000

3. Lời kết

Trên là những kiến thức căn bản về các toán tử so sánh, nó rất quan trọng trong bởi vì nhu cầu tìm kiếm thông tin trong hệ thống dữ liệu là rất cần thiết, và tất cả các lệnh như UPDATE, DELETE đều phải sử dụng toán tử này để tìm ra record cần thực hiện.

Video liên quan

Chủ Đề

= So sánh bằng
So sánh không bằng
!= So sánh không bằng
> So sánh lớn hơn
>= so sánh lớn hơn hợc bằng