75.IFNULL
IFNULL(<expression1>, <expression2>)
返回第一个非空表达式
*/
SELECT IFNULL('diff', 'same') FROM DUMMY; SELECT IFNULL(NULL, 'same') FROM DUMMY; SELECT IFNULL(NULL, NULL) FROM DUMMY;
/*
76.INDEXING_ERROR_CODE
INDEXING_ERROR_CODE(<column_name>)
返回具有全文索引列的值的错误代码
INDEXING_ERROR_MESSAGE(<column_name>)
返回具有全文索引列值的错误信息
INDEXING_STATUS(<column_name>)
Status值说明:
ERROR - the value could not be indexed due to a mismatch in the data type
INDEXED - the value is been indexed
QUEUED - the value is queued for indexing
*/
CREATE COLUMN TABLE TEST_INDEX_ERROR_CODE (CONTENT varchar(50)); CREATE FULLTEXT INDEX I ON TEST_INDEX_ERROR_CODE(CONTENT) ASYNC MIME TYPE 'text/xml' FAST PREPROCESS OFF; INSERT INTO TEST_INDEX_ERROR_CODE VALUES ('This is an example'); INSERT INTO TEST_INDEX_ERROR_CODE VALUES ('<xml>This is an example</xml>'); –- Wait a few seconds SELECT INDEXING_ERROR_CODE(CONTENT),CONTENT FROM TEST_INDEX_ERROR_CODE; SELECT INDEXING_ERROR_MESSAGE(CONTENT),CONTENT FROM TEST_INDEX_ERROR_CODE; SELECT INDEXING_STATUS(CONTENT),CONTENT FROM TEST_INDEX_ERROR_CODE; --QUEUED 排序 ALTER FULLTEXT INDEX I SUSPEND QUEUE; INSERT INTO TEST_INDEX_ERROR_CODE VALUES ('<xml>its INDEXING_STATUS is QUEUED</xm>'); SELECT INDEXING_STATUS(CONTENT),CONTENT FROM TEST_INDEX_ERROR_CODE;
/*
77.INITCAP
INITCAP(<inputString>)
将字符串首字母大写,其余小写
<inputString> can be either a VARCHAR or NVARCHAR value.
*/
--不存在?? --SELECT INITCAP('the EXAMPLE one') FROM DUMMY;
/*
78.IS_SQL_INJECTION_SAFE(<value>[, <max_tokens>])
检查SQL是否存在注入风险
<max_tokens>:最大风险字符个数,如果超过返回0(not safe),没有超过返回1
这些是风险字符
空格 , ( ) [ ] . ; : + - * / % ^ < > =
*/
SELECT IS_SQL_INJECTION_SAFE('tab,le') FROM DUMMY; SELECT IS_SQL_INJECTION_SAFE('CREATE STRUCTURED PRIVILEGE', 3) FROM DUMMY; --存在注释/*不安全 SELECT IS_SQL_INJECTION_SAFE('mytab /*', 4) FROM DUMMY;
/*
79.ISOWEEK
ISOWEEK(<date>)
返回ISO年,周信息<date>
week数字前有W字母
*/
SELECT ISOWEEK(TO_DATE('2011-05-30', 'YYYY-MM-DD')) FROM DUMMY;