12. 一些开发中遇到的SQL问题

一些开发中遇到的SQL问题

1. sql报11090错误,原因可能是以下错误,在?占位符后有一个空格

image

2. 占位符?的位置不能是表名,否则会无法进行预编译

String sql ="select *  from ?";
targetPS = connection.prepareStatement(sql); 
targetPS.setString(1, tableName);

image

3. mysql中desc是关键字,如果字段名称为desc会报错

4. 数据库中时间格式

mysql中查询最大时间并按照格式输出

select date_format(max(creatTime),'%Y-%m-%d %H:%i:%s.%f') FROM am_unit_space
2018-03-14 19:10:23.000000

mysql筛选日期段数据(mysql可以直接对时间字符串进行大小比较,对date,datetime,timestamp格式通用)

select id,name,remarks,creatTime from am_unit_space  where creatTime> '2013-03-14 18:46:45' and creatTime<= '2018-03-14 19:10:23.000000'

oracle中查询最大时间并按照格式输出

select to_char(max(creatTime),'yyyy-mm-dd hh24:mi:ss') FROM am_unit_space
2020-05-12 14:27:27

oracle筛选日期段数据(oracle不可以直接对时间字符串进行大小比较,需要使用to_date()函数将字符串转换)

select ID,NAME,INDUSTRY,REMARKS,CREATTIME,MODIFYTIME,UNITID,CREATEMAN from AM_UNIT_SPACE  where creatTime > to_date('2015-11-05 11:23:30'  , 'yyyy-mm-dd hh24:mi:ss') and creatTime <= to_date('2020-05-28 14:25:49'  , 'yyyy-mm-dd hh24:mi:ss') 

排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。

猜你喜欢

转载自blog.csdn.net/yang134679/article/details/131817018