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

文章列举了在SQL开发中可能遇到的问题,包括11090错误与占位符使用误区,MySQL中的关键字冲突以及时间格式处理,同时对比了MySQL和Oracle在查询日期段数据时的不同方法。
摘要由CSDN通过智能技术生成

一些开发中遇到的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') 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼鱼大头鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值