ORDER BY field(dp.docflag,0,2,1,3)             根据一个字段不同状态进行排序
select * from Pro where proID in (1,2,4)        包含1 2 4 的筛序条件
WHERE IF(`parentID` =1,`plan_id`<10,`plan_id`>500) WHERE IF(条件, true执行条件, false执行条件 )

 

case dp.pacs_type
when 1 then 'X射线'
when 2 then '病理切片'
when 3 then '超声'
when 4 then 'CT'
when 5 then '磁共振'
when 6 then '实时超声'
end AS pacsTypeStr        不同状态转化为具体字段值

ORDER BY field(hd.flag, 0, 2),     根据状态排序

 

第一种写法(1):
原符号 < <= > >= & ' "
替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;
例如:sql如下:
create_date_time &gt;= #{startTime} and create_date_time &lt;= #{endTime}


第二种写法(2):
大于等于
<![CDATA[ >= ]]>
小于等于
<![CDATA[ <= ]]>
例如:sql如下:
create_date_time <![CDATA[ >= ]]> #{startTime} and create_date_time <![CDATA[ <= ]]> #{endTime}

TIMESTAMPDIFF(YEAR, SUBSTR(p.idcard, 7, 8), CURDATE()) AS patientAge                 根据身份证计算年龄

 


CASE
WHEN 0 THEN
dp.docflag IN (0,1,2)
WHEN 1 THEN
dp.docflag = 3
WHEN 2 THEN
dp.docflag IN (0,1,2,3) OR dp.docflag is NULL
END

CONCAT(str1,str2,…)     合并多个字段值的函数

 

truncate table his_dispatch_diag         清空表主键

CAST(t.pacs_type AS CHAR) pascType ,     int 转char

SELECT NAME FROM tb_doctor WHERE 1=1 ORDER BY CONVERT(NAME USING gbk);     某字段按中文排序


mysql 中 in关键字和any关键字作用是一样的

desc   查看表结构

查询表中列的注释信息(所有)

select * from information_schema.columns
where table_schema = 'db'         #表所在数据库
and table_name = 'tablename' ;       #你要查的表

查询表中列的注释信息(可选查看)

select column_name,column_comment  from information_schema.columns
where table_schema = 'db'         #表所在数据库
and table_name = 'tablename' ;      #你要查的表

 

查看表的注释

select table_name,table_comment from information_schema.tables where table_schema = 'db' and table_name ='tablename'

#全局变量   作用域:服务器每次启动将为所有的全局变量赋初始值。 跨链接。但是不跨重启

1,查看所有全局变量

show global variables;

2.查看部分全局变量

show global variables like 'char%';

3.查看指定全局变量值

select @@global.autocommit;

select @@tx_isolation;

4.为指定全局变量赋值

set @@global.autocommit = 0   (是否自动提交 1yes 0 false)