整理遇到的不常见功能SQL,使用的SQL函数

自己整理了一下平时遇到的一些 SQL 函数

  • 一个表字段内容插入另一个表字段内容中
sql server :
STUFF ( character_expression , start , length , replaceWith_expression )函数功能
mysql:
中可以用concat(substr(field,1,length(field)-3),field2,field3,)
 1 SELECT CONCAT(YEAR(sel.insert_time),'-',Right(100+Month(sel.insert_time),2)) datemonth, 
  •  
  • 查询年月:(日期不足两位的加 0)

select CONCAT(YEAR(sel.update_time),'-',Right(100+Month(sel.update_time),2))
YEAR()函数返回一个指定日期的年份值,范围为1000到9999,如果日期为零,YEAR()函数返回0
MONTH(date); 

MONTH函数接受一个DATE或DATETIME值的参数。 它返回1到12之间的整数,范围从1到12。
RIGHT(str,len)
返回从字符串str最右边的len个字符,如果任一参数为null则返回null。

 

 

  • MySQL按照自定义排序:即 按照某个字段的某些值排前边

自定义将某几个值排前边:order by FIELD(ea. STATUS, '3','0') DESC,ea.update_time desc;

 

  • 根据库名和表名得到修改表编码的sql语句

SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET latin1 COLLATE latin1_swedish_ci', (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END), ';')
bieming
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'SchoolUserOnline'
-- 表名
AND TABLE_NAME='student_register'
AND DATA_TYPE = 'varchar'
AND
(
CHARACTER_SET_NAME != 'utf8'
OR
COLLATION_NAME != 'utf8_general_ci'
);

 

 

posted @ 2018-11-18 10:23  好Wu赖  阅读(216)  评论(0编辑  收藏  举报