sql学习
自由的刺猬
得不到想要的,失去的走远了
展开
-
MySql 设置字段值区分大小写
MySql在Linux下,数据库名、表名、列名、别名大小写规则是这样的:1. 数据库名和表名是严格区分大小写的2. 表的别名严格区分小大写3. 列名与列的别名在所有情况下均是忽略小大写的4. 变量名也是严格区分大小写的MySql在windows下都不区分大小写但是,可以给字段值设置BINARY属性来区分字段值的大小写,设置方法有以下两种:1. 创建表的时候设置,比如说有转载 2016-11-17 15:24:18 · 17222 阅读 · 1 评论 -
mysql将多条数据拼接成一个字符串
项目中遇到过多次的问题,记录下,避免忘记~~根据夹具id获取适用实验类型-->id="getTestTypeByFixtureId" resultMap="NewResultMap" parameterType="java.lang.String"> SELECT GROUP_CONCAT(DISTINCT(t.name)) as testTypeNames, GROUP_CON原创 2017-07-13 11:10:16 · 10467 阅读 · 0 评论 -
mysql 参数类型为map的用法
//应用业务场景: 你有一个商品表,每个商品都有可以替代的商品;当你点击一个商品详情的时候,要对应展示该商品所有可替代商品的的列表(个人所遇到的一些情况,特此记录,以备后用~~~)xml文件:获取可替代商品信息-->id="getReplaceFixture" resultMap="BaseResultMap" parameterType="java.util.Map"> se原创 2017-07-13 11:48:15 · 13478 阅读 · 0 评论 -
sql 编辑功能名称重复性校验
修改时名称做重复性校验 -->id="checkRepeat" parameterType="com.test.entity.SampleType" resultType="java.lang.Integer"> SELECT count(IF (UPPER(t. NAME) = UPPER(#{name,jdbcType=VARCHAR}), 1, 0)) NAME原创 2017-07-13 15:39:30 · 1157 阅读 · 0 评论 -
Oracle中按照中文字段排序
需求:有一个student表,查询数据时需要按照其中的name字段进行排序,直接order by name个别数据顺序不对,于是搜了一些方法,如下: 在oracle 9i之前,对中文的排序,是默认按2进制编码来进行排序的. 9i时增加了几种新的选择: 按中文拼音进行排序: SELECT * FROM student ORDER BY NLSSORT(name,'转载 2017-10-24 11:08:47 · 1384 阅读 · 0 评论 -
oracle日期处理(年月格式)加/减一个月
如果你的sql需要对传入的年月日期格式进行处理,比如把日期提前一个月或者推后一个月,可以使用ADD_MONTHS函数: ADD_MONTHS(date, num) 其中,date是你传入的参数,num是你要提前或者推后的月的个数,比如,提前一个月,num为-1 ,推后一个月,num为1例如: select * from student where enter_time BETWEEN ADD_原创 2017-11-15 13:52:20 · 60739 阅读 · 0 评论 -
Oracle将时分秒格式的字符串转换为秒进行计算
最近的需求中一个日期格式为'时分秒'且该字段的数据类型是字符串,然后需要计算总的时间,于是想了想,在sql中这样处理可达到我想要的效果,代码如下 select (hours+minutes+seconds) AS total_seconds from( select to_number(substr('00:12:20',0,2))*60*60 AS hours,原创 2017-11-16 17:25:25 · 6933 阅读 · 1 评论