📄 stringtypes.out
字号:
ij> -- now try the char_length function on the columnsselect {fn length(c1)}, {fn length(c2)}, {fn length(c3)} from vt;1 |2 |3 -----------------------------------1 |5 |30 0 |2 |3 1 |5 |30 NULL |5 |NULL ij> -- now create a table with long varchar columnscreate table lvt (c1 long varchar, c2 long varchar not null, c3 long varchar default null);0 rows inserted/updated/deletedij> -- insert some rows-- first, some short valuesinsert into lvt values ('1', '11', '111');1 row inserted/updated/deletedij> -- now some values with trailing blanks (which should be preserved)insert into lvt values ('2 ', '22 ', '222 ');1 row inserted/updated/deletedij> -- now some long valuesinsert into lvt values ('3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333','333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333','33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333');1 row inserted/updated/deletedij> -- now try inserting nulls into columns that accept theminsert into lvt values (null, '4444', null);1 row inserted/updated/deletedij> -- now try inserting nulls into columns that do not accept theminsert into lvt values ('5', null, '55555');ERROR 23502: Column 'C2' cannot accept a NULL value.ij> -- now check the rows that made it into the table successfullyselect * from lvt;C1 |C2 |C3 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1 |11 |111 2 |22 |222 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333&|3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333&|3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333&NULL |4444 |NULL ij> -- now try the char_length function on the columnsselect {fn length(c1)}, {fn length(c2)}, {fn length(c3)} from lvt;1 |2 |3 -----------------------------------1 |2 |3 1 |2 |3 247 |432 |821 NULL |4 |NULL ij> -- insert-select from varchar columns into char columnsinsert into ct select * from vt;4 rows inserted/updated/deletedij> select * from ct;C1 |C2 |C3 -----------------------------------------1 |11111|111111111111111111111111111111 |22 |222 3 |33333|333333333333333333333333333333NULL|77777|NULL 1 |11111|111111111111111111111111111111 |22 |222 3 |33333|333333333333333333333333333333NULL|77777|NULL ij> -- insert-select from char columns into varchar columnsinsert into vt select * from ct;8 rows inserted/updated/deletedij> select * from vt;C1 |C2 |C3 -----------------------------------------1 |11111|111111111111111111111111111111 |22 |222 3 |33333|333333333333333333333333333333NULL|77777|NULL 1 |11111|111111111111111111111111111111 |22 |222 3 |33333|333333333333333333333333333333NULL|77777|NULL 1 |11111|111111111111111111111111111111 |22 |222 3 |33333|333333333333333333333333333333NULL|77777|NULL ij> -- insert-select from varchar columns into char columns with truncation errorsinsert into ct select c3, c2, c1 from vt;ERROR 22001: A truncation error was encountered trying to shrink CHAR '111111111111111111111111111111' to length 1.ij> select * from ct;C1 |C2 |C3 -----------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -