การ insert ข้อมูลลง informix

  1. การใส่ single quote
  2. การใส่ newline และ carriage returns

1.การใส่ single quote

สร้างตารางทดสอบ

create table tbtest ( 
    id          SERIAL PRIMARY KEY,
    username    CHAR(14) NOT NULL,
    email       VARCHAR(50) NOT NULL,
    timestamp   DATETIME YEAR TO FRACTION(5) DEFAULT SYSDATE YEAR TO FRACTION(5) 
);

ทดลอง insert ข้อมูลที่มี single quote ด้วยการใส่ single quote 2 ตัวติดกัน โดยเมื่อ insert เสร็จจะได้เป็น single quote ตัวเดียว

insert into tbtest (username, email) values ('jack', 'jack''s-email@gmail.com');

ลอง select ดูจะได้

2.การใส่ newline และ carriage returns

ทดลองใส่ newline และ carriage returns ลงข้อมูลชนิด varchar ได้ แต่ใส่ลงข้อมูลชนิด text ไมไ่ด้ (ถ้าจะใส่ลง text ลองดูที่หัวข้อ Loading data into a TEXT column)

สร้างตารางทดสอบ

create table tbtest
(
    id        SERIAL  PRIMARY KEY,
    detail    text,
    detail2   varchar(50),
    timestamp DATETIME YEAR TO FRACTION(5) DEFAULT SYSDATE YEAR TO FRACTION(5) 
);

ทดลอง insert ข้อมูลพร้อมขึ้นรรทัดใหม่ลงคอลัมน์ detail2 จะ insert ได้

insert into tbtest (detail2) values ('test'||chr(10)||chr(13)||'more test');

แต่ถ้า insert ลงคอลัมน์ detail จะ error

insert into tbtest (detail) values ('test'||chr(10)||chr(13)||'more test');
SQL Error [IX000]: A blob data type must be supplied within this context.