<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hjchidaozhe的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Hjchidaozhe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Hjchidaozhe]]></copyright><item><title><![CDATA[MySQL常用日期查询-超全]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111305057</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111305057</guid><author>Hjchidaozhe</author><pubDate>Wed, 16 Dec 2020 23:13:30 +0800</pubDate><description><![CDATA[-- --------------------------------------------------------------时间：

-- 当前时间的整分


select TIMESTAMP(date_format(now(),'%Y-%m-%d %H:%i:00'))

-- 当前时间的整小时


select TIMESTAMP(date_format(now(),'%Y-%m-%d %H:00:00'))

-- 昨天的这个时间


select TIMESTAMP(now()-1)



.]]></description><category></category></item><item><title><![CDATA[MySQL日期增减计算]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111300914</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111300914</guid><author>Hjchidaozhe</author><pubDate>Wed, 16 Dec 2020 20:30:41 +0800</pubDate><description><![CDATA[DATE_ADD(date,INTERVAL expr type) ADDDATE(date,INTERVAL expr type)

两者一样，给日期值添加时间值，type可取值为：

MICROSECOND
			微妙
		SECOND
			秒
		MINUTE
			分钟
		HOUR
			小时（24）
		DAY
			天
		WEEK
			年周
		MONTH
			月份
		QUARTER
			季度
		YEAR
			年份
		SECOND_MICROSECOND
			秒-微妙
..]]></description><category></category></item><item><title><![CDATA[MySQL日期取值与转换]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111279665</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111279665</guid><author>Hjchidaozhe</author><pubDate>Wed, 16 Dec 2020 15:30:10 +0800</pubDate><description><![CDATA[-- DATE()：获取日期或日期时间表达式的日期部分


SELECT DATE('2017-06-15'),DATE('2017-06-15 12:12:12'),DATE(now())

-- --------------------------------------------------------------------------年份
-- YEAR(d) 返回年份


SELECT YEAR("2017-06-15"),YEAR(CURDATE())

-- ---------------]]></description><category></category></item><item><title><![CDATA[MySQL日期 与字符串转换]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111268166</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111268166</guid><author>Hjchidaozhe</author><pubDate>Wed, 16 Dec 2020 14:30:15 +0800</pubDate><description><![CDATA[日期格式化输出字符串：

date_format、time_format；后者只对时间（时分秒）有效，前者对日期+小时都有效

MySQL的年月日时分秒等表达方式

%Y
			年, 数值, 4 个数字
		%y
			年, 数值, 2 个数字
		%m
			月份, 数值 (00..12)
		%c
			月, 数值 (0..12)
		%M
			月名 (January..December)
		%b
			缩写月名 (Jan..Dec)
		%W
			星期名 (Sunday..Saturday)
	]]></description><category></category></item><item><title><![CDATA[MySQL日期相关函数-系统当前时间]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111032701</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/111032701</guid><author>Hjchidaozhe</author><pubDate>Fri, 11 Dec 2020 12:08:47 +0800</pubDate><description><![CDATA[获取当前日期：


select CURDATE(),CURDATE()+0,CURRENT_DATE(),CURRENT_DATE()+0;



获取当前时间：


select CURTIME(),CURTIME()+0,CURRENT_TIME(),CURRENT_TIME()+0;



获取当前日期+时间：


select SYSDATE(),SYSDATE()+0,NOW(),NOW()+0,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP+0;




select.]]></description><category></category></item><item><title><![CDATA[SQL优化-索引失效]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110947577</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110947577</guid><author>Hjchidaozhe</author><pubDate>Thu, 10 Dec 2020 10:42:16 +0800</pubDate><description><![CDATA[sql查询顺序：from -- where -- group by -- having -- select -- order by -- limit



1、小表join大表（当多表join连接时，小表在前，大表在后）

2、隐式数据类型转换

数据类型出现隐式转换的时候不会命中索引，例如当列类型是字符串，一定要将字符常量值用引号引起来。

3、函数操作索引列，等号左边对字段进行函数操作，导致全表扫描。

例如：TO_CHAR(日期,'yyyy-mm-dd')='2020-12-10'

改写为：日期=.]]></description><category></category></item><item><title><![CDATA[帆软模板预览]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110426213</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110426213</guid><author>Hjchidaozhe</author><pubDate>Tue, 01 Dec 2020 11:39:59 +0800</pubDate><description><![CDATA[内容
			简介
		分页预览
			FineReport 的默认预览方式，一般在只需要查看报表数据用于分析的时候使用
		填报预览
			是指在 Web 端预览用来填报数据的模板，一般在只需要录入修改数据的时候使用
		数据分析
			数据分析模式也可以查看报表，但是其可以对报表结果进行不分页预览及在线分析：排序、二次过滤等
		新填报预览
			新填报预览，采用了新样式的控件，加载速度快，采用了分页加载
		移动端预览
			通过扫码直接在手机上展现报表，让用户直观地看到当前设计模板的实际效果
		决策]]></description><category></category></item><item><title><![CDATA[帆软单元格设置显示长度多余内容省略号]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110166131</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110166131</guid><author>Hjchidaozhe</author><pubDate>Thu, 26 Nov 2020 10:12:09 +0800</pubDate><description><![CDATA[1、在模板--&gt;模板web属性--&gt;根据自己的web属性，在相应的web属性下面添加事件设置（加载结束）--&gt;在代码栏里新增JS脚本


//获取到td中的字符串，截取字符串
$("td[title^=cut]").each(function(){
//获取属性的值
varstr=$(this).attr('title');
//定义分隔符号
varlength=parseInt(str.split(":")[1]);
//判断长度
if($(this).text().le...]]></description><category></category></item><item><title><![CDATA[SQL语句理解左右连接和where]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110038893</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/110038893</guid><author>Hjchidaozhe</author><pubDate>Tue, 24 Nov 2020 09:50:06 +0800</pubDate><description><![CDATA[这里以左连接 left join 为例，说明 on 后面的条件与 where 后面条件的区别

创建测试表：TAB_1、TAB_2


create table TAB_1 as (
	select 'c' as A,'d' as B,'3' as C,'4' as D from dual
	union all
	select 'a' as A,'b' as B,'1' as C,'2' as D from dual
	);
create table TAB_2 as (
	select 'c' as A,]]></description><category></category></item><item><title><![CDATA[Python基础学习16-类属性]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109865595</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109865595</guid><author>Hjchidaozhe</author><pubDate>Fri, 20 Nov 2020 22:33:13 +0800</pubDate><description><![CDATA[类属性指的是类对象所绑定的属性

绑定类属性（给类对象绑定属性）的方式有两种：

在类对象的内部（方法外），语法格式：属性名 = 属性值
	在类对象的外部，Python是动态语言，所以，在类对象创建之后，可以对齐动态的绑定属性。语法格式：类对象.属性名 = 属性值  如果指定名称的类属性已经存在，则是对类属性进行修改
访问类属性的方式有两种：

在类对象的内部（方法中），语法格式：类对象.属性名
	在类对象的外部，语法格式：类对象.属性名  或  实例对象.属性名   类对象的所有实例对象...]]></description><category></category></item><item><title><![CDATA[Python基础学习15-实例属性]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109855277</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109855277</guid><author>Hjchidaozhe</author><pubDate>Fri, 20 Nov 2020 17:40:28 +0800</pubDate><description><![CDATA[实例属性值的是实例对象锁绑定的属性

绑定实例属性的方式有两种：

在类对象的内部（方法中），语法格式：self.属性名 = 属性值  # 推荐在特殊方法 __init__ 中进行绑定，这样，在创建实例对象后就会自动调用特殊方法 __init__ 对实例对象进行初始化，从而绑定实例属性。如果在其他方法中进行绑定，可能需要手动调用方法后才会绑定。
	在类对象的外部（Python是动态语言，所以，在实例对象创建之后，可以对其动态的进行绑定属性），语法格式：实例对象.属性名 = 属性值  # 如果指定名称...]]></description><category></category></item><item><title><![CDATA[Python基础学习14-定义对象和创建实例对象]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109853826</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109853826</guid><author>Hjchidaozhe</author><pubDate>Fri, 20 Nov 2020 17:04:39 +0800</pubDate><description><![CDATA[定义类对象

定义类对象的语法格式：

class 类名(object):

  # 属性和方法

其中，

类名由一个或多个单词组合而成，每个单词的首字母大写，且其余字母全部小写，例如：SomeClass（命名规范）
	(object) 表示该对象继承自Python内置的类对象 object，Python中所有的类对象都继承自一个统一的基类：object


创建实例对象

根据类对象创建实例对象的语法格式为：类名([实参])


class SomeClass(object):
    pass
...]]></description><category></category></item><item><title><![CDATA[Python基础学习13-浅拷贝和深拷贝]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109816246</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109816246</guid><author>Hjchidaozhe</author><pubDate>Fri, 20 Nov 2020 15:45:18 +0800</pubDate><description><![CDATA[浅拷贝

对于某个对象，如何创建它的拷贝呢？也就是说，如何创建与该对象具有相同值的另一个对象呢？

所谓浅拷贝是指，对于某个对象，虽然创建了与该对象具有相同值的另一个对象，但是，这两个对象内部嵌套的对应的子对象全都是同一个对象。简单的说，外部进行了拷贝，内部没有拷贝。

以下方式得到的拷贝都是浅拷贝：

切片操作 [:]
	调用列表、字典、结合的方法 copy()
	调用内置函数 list() 、dict()、set()
	调用标准库模块 copy 中的函数copy()

L1 = [[3, 6], 8].]]></description><category></category></item><item><title><![CDATA[Python基础学习12-函数]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109739637</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109739637</guid><author>Hjchidaozhe</author><pubDate>Tue, 17 Nov 2020 18:03:17 +0800</pubDate><description><![CDATA[什么是函数：

函数就是执行特定任务以完成特定功能的一段代码，它接受输入（参数），最后生成输出（参数）。其中输入、输出都是可选的。可以在程序中将某段代码定义成函数，并制定一个函数名及接受输入参数，这样，就可以在程序的其他地方通过函数名多次调用并执行该段代码，每次调用并执行后，都会根据接收的输入参数，执行特定任务后生成相应的输出。

为什么需要函数：

复用代码：如果程序中需要多次完成某个特定的功能，我们可以将该功能定义成函数，然后在其他地方调用即可，无需多次编写
	隐藏实现的细节：我们无需关注函数实现的细节]]></description><category></category></item><item><title><![CDATA[Python基础学习11-列表生成式]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109738117</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109738117</guid><author>Hjchidaozhe</author><pubDate>Tue, 17 Nov 2020 11:37:09 +0800</pubDate><description><![CDATA[列表生成式

列表生成式的语法格式：[表示列表元素的表达式 for 自定义的变量in 可迭代对象]

其中，“表示列表元素的表达式” 通常包含 “自定义的变量”


# 如果想要生成列表 [1, 4, 9, 16, 25, 36] ，可以使用 for in 循环
L = []
for i in range(1, 7):
    L.append(i * i)
print(L)        # [1, 4, 9, 16, 25, 36]

# 上述的解决方案，有更好的替代，列表生成式
L = [i * i.]]></description><category></category></item><item><title><![CDATA[Python基础学习10-流程控制]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109661011</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109661011</guid><author>Hjchidaozhe</author><pubDate>Tue, 17 Nov 2020 10:48:39 +0800</pubDate><description><![CDATA[1996年，计算机科学家证明了这样的事实：任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成

顺序结构：程序从上到下顺序的执行代码，中间没有任何判断和跳转，直到程序结束。
	选择结构：程序根据判断条件的布尔值选择性的执行部分代码。
	循环结构：程序根据循环条件反复执行某段代码，直到不满足循环条件为止。


if 语句






"""
    if 语句的语法格式：
if 判断条件:
    条件执行体
其中，条件执行体对应的代码块必须缩进。

    if 语句执行的流..]]></description><category></category></item><item><title><![CDATA[Oracle数据库基础学习15-修改表]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109728413</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109728413</guid><author>Hjchidaozhe</author><pubDate>Mon, 16 Nov 2020 21:24:12 +0800</pubDate><description><![CDATA[添加表列

表创建好后经常需要向表添加新的列，添加表列使用 alter table 语句


alter table [schema_name.]table_name
{
	add column_name data_type [column_attributes]
}

语法参数的含义如下所示：

table_name ：要修改的表名称，可选的[schema_name] 用来指定方案名

add ：用来指定操作类型

column_name：用来指定表列的名称

data_type ：指定增加或修改的表列.]]></description><category></category></item><item><title><![CDATA[Oracle数据库基础学习13-外部表]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109709095</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109709095</guid><author>Hjchidaozhe</author><pubDate>Sun, 15 Nov 2020 21:45:40 +0800</pubDate><description><![CDATA[外部表是指存储在外部文件中的数据，Oracle可以通过创建外部表以只读的方式来查询文件数据的内容，这对于文件数据的分析非常有用，而且还可以轻松的将外部表的内容插入到数据库中

注意：Oracle只能处理位于Oracle服务器上的外部文件，它依赖于Oracle的目录对象和 ORACLE_LOADER 来加载外部文件中的数据

实际上创建外部表只是在数据字典中添加了外部表的元数据信息，并没有在数据库中为外部文件创建数据表。Oracle通过访问驱动程序来读取外部表中的数据。Oracle提供了两种访问驱动，默认使用]]></description><category></category></item><item><title><![CDATA[Oracle数据库基础学习12-索引组织表]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109708405</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109708405</guid><author>Hjchidaozhe</author><pubDate>Sun, 15 Nov 2020 20:18:50 +0800</pubDate><description><![CDATA[标准表的存储方式是使用堆存储方式，因此标准表也常常称为堆组织表（heap organized table）堆存储方式是指数据以堆的方式进行管理。堆存储方式比较随机，在向表中插入数据时，将总是找到第一个能放下此数据的自由空间，在堆记录进行删除或修改时，将会一处部分空间以便重用，所以它是一种随机的表存储方式。

堆组织表的随机存储方式使得访问表中的数据也变得比较随机，如果查询一个包含海量数据的表，将会非常耗时耗力，为此Oracle表一般会创建索引。表上的索引是单独存储的一类数据库对象，它通过将特定的字段内容提取]]></description><category></category></item><item><title><![CDATA[Oracle数据库基础学习11-全局临时表]]></title><link>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109708021</link><guid>https://blog.youkuaiyun.com/Hjchidaozhe/article/details/109708021</guid><author>Hjchidaozhe</author><pubDate>Sun, 15 Nov 2020 19:39:23 +0800</pubDate><description><![CDATA[临时表减少了事务产生的重做信息，可以节省重做日志的大小
	在临时表中可以使用主键和索引，以便提高临时表的性能，同时还可以在临时表上添加约束
	在临时表中可以像普通表一样进行新增、修改和删除。但是不同的用户无法看到其他用户的临时表数据，因为临时表中的内容仅对操作它的会话可见
	通过将复杂的查询结果保存到临时表中，可以提供高效的数据访问
	Oracle中的临时表是静态的，意味着在使用之前必须先行创建
在 SQL Server 中，可以随时创建临时表，这些临时表保存在 SQL Server 的 tempdp 数据]]></description><category></category></item></channel></rss>