24 lines
		
	
	
		
			901 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			901 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
SET sql_mode=ORACLE;
 | 
						|
 | 
						|
--echo #
 | 
						|
--echo # MDEV-12783 sql_mode=ORACLE: Functions LENGTH() and LENGTHB()
 | 
						|
--echo #
 | 
						|
#
 | 
						|
# Testing LENGTH / LENGTHB
 | 
						|
#
 | 
						|
# LENGTH : return the length of char
 | 
						|
# LENGTHB : return the length of byte
 | 
						|
 | 
						|
 | 
						|
SELECT LENGTH(null), LENGTH('a'), LENGTH(123);
 | 
						|
# 10.4 based qc_mysqlembedded recognizes this as QUERY_TYPE_READ, while
 | 
						|
# 10.3 based one recognizes it as QUERY_TYPE_WRITE (i.e. it does not
 | 
						|
# recognize it). qc_sqlite now (May 2019) recognizes it always as READ.
 | 
						|
#SELECT LENGTHB(null), LENGTHB('a'), LENGTHB(123);
 | 
						|
 | 
						|
# qc_sqlite: SELECT LENGTH(_utf8 0xC39F), LENGTH(CHAR(14844588 USING utf8));
 | 
						|
# Sqlite3 error: SQL logic error or missing database, near "0xC39F": syntax error
 | 
						|
# qc_sqlite: SELECT LENGTHB(_utf8 0xC39F), LENGTHB(CHAR(14844588 USING utf8));
 | 
						|
# Sqlite3 error: SQL logic error or missing database, near "0xC39F": syntax error
 | 
						|
EXPLAIN EXTENDED SELECT LENGTH('a'), LENGTHB('a');
 |