//闰年最直接的判断是:能被4整除且不能被100整除,或者能被400整除的年份 create or replace procedure pro_leap_year(year_in
//闰年最直接的判断是:能被4整除且不能被100整除,或者能被400整除的年份
create or replace procedure pro_leap_year(year_in in number)
as
v_mod1 number(4) :=mod(year_in,4);
v_mod2 number(4) :=mod(year_in,100);
v_mod3 number(4) :=mod(year_in,400);
begin
if ((v_mod1=0 and v_mod20) or v_mod3=0) then
dbms_output.put_line(year_in||' is a leap year');
else dbms_output.put_line(year_in||' is not a leap year');
end if;
exception
when others then
dbms_output.put_line(sqlerrm);
end pro_leap_year;
/
SQL> exec pro_leap_year(2010);
2010 is not a leap year
PL/SQL procedure successfully completed
//
SQL> exec pro_leap_year(2000);
2000 is a leap year
PL/SQL procedure successfully completed
//
//关于闰年平年,下面有一个比较全面的解释:
//在公历(格里历)纪年中,,有闰日的年份叫闰年,一般年份365天,闰年为366天。
//由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年,公历把一年定为365天。
//所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。
//因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。
//闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;
//被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。
//如2000年是闰年,而1900年不是。
//
//我们所关心的是怎么样计算指定的一个年份是否是闰年:
//从上面的描述中,我们知道:
//如果一年中2月份有29天,那么这一年就是闰年,否则是平年
SQL> drop procedure pro_leap_year;
Procedure dropped
//
create or replace procedure pro_leap_year(year_in in number)
as
v_year_in varchar2(10) :=to_char(year_in)||'0229';
v_date date;
begin
//这里将拼接的字符串转换为日期,并赋值给一个日期类型的变量,
//其实就是为了和日期类型进行比较,隐式的比较,比较你输入的年份中2月是否含有29日这一天
v_date :=to_date(v_year_in,'yyyy-mm-dd');
dbms_output.put_line(year_in||' is a leap year');
exception
when others then
dbms_output.put_line(year_in||' is not a leap year');
end pro_leap_year;
/
SQL> exec pro_leap_year(2010);
2010 is not a leap year
PL/SQL procedure successfully completed
//
SQL> exec pro_leap_year(2000);
2000 is a leap year
PL/SQL procedure successfully completed
//
SQL> exec pro_leap_year(2005);
2005 is not a leap year
PL/SQL procedure successfully completed
//
SQL> exec pro_leap_year(2100);
2100 is not a leap year
PL/SQL procedure successfully completed
//
//我们也可以用一条select语句来判断:
SQL> select case
2 when to_char(last_day(to_date(&year||'02','yyyymm')),'dd')='29'
3 then 'the year you input is a leap year'
4 else 'the year you input is not a leap year'
5 end is_leap_year
6 from dual;
Enter value for year: 2050
old 2: when to_char(last_day(to_date(&year||'02','yyyymm')),'dd')='29'
new 2: when to_char(last_day(to_date(2050||'02','yyyymm')),'dd')='29'
IS_LEAP_YEAR
-------------------------------------
the year you input is not a leap year
//
SQL> /
Enter value for year: 2000
old 2: when to_char(last_day(to_date(&year||'02','yyyymm')),'dd')='29'
new 2: when to_char(last_day(to_date(2000||'02','yyyymm')),'dd')='29'
IS_LEAP_YEAR
---------------------------------
the year you input is a leap year
//
SQL> /
Enter value for year: 2012
old 2: when to_char(last_day(to_date(&year||'02','yyyymm')),'dd')='29'
new 2: when to_char(last_day(to_date(2012||'02','yyyymm')),'dd')='29'
IS_LEAP_YEAR
---------------------------------
the year you input is a leap year
//
SQL> /
Enter value for year: 1998
old 2: when to_char(last_day(to_date(&year||'02','yyyymm')),'dd')='29'
new 2: when to_char(last_day(to_date(1998||'02','yyyymm')),'dd')='29'
IS_LEAP_YEAR
-------------------------------------
the year you input is not a leap year
//

MySQL 사용자를 추가하는 방법을 마스터하는 것은 데이터베이스 관리자 및 개발자가 데이터베이스의 보안 및 액세스 제어를 보장하기 때문에 데이터베이스 관리자 및 개발자에게 중요합니다. 1) CreateUser 명령을 사용하여 새 사용자를 만듭니다. 2) 보조금 명령을 통해 권한 할당, 3) FlushPrivileges를 사용하여 권한이 적용되도록하십시오.

ChooseCharfixed-lengthdata, varcharforvariable-lengthdata, andtextforlargetextfields.1) charisefficientsconsentent-lengthdatalikecodes.2) varcharsuitsvariable-lengthdatalikeNames, 밸런싱 플렉스 및 성능

MySQL에서 문자열 데이터 유형 및 인덱스를 처리하기위한 모범 사례는 다음과 같습니다. 1) 고정 길이의 Char, 가변 길이의 Varchar 및 큰 텍스트의 텍스트와 같은 적절한 문자열 유형 선택; 2) 인덱싱에 신중하고, 과도한 인덱싱을 피하고, 공통 쿼리에 대한 인덱스를 만듭니다. 3) 접두사 인덱스 및 전체 텍스트 인덱스를 사용하여 긴 문자열 검색을 최적화합니다. 4) 인덱스를 작고 효율적으로 유지하기 위해 인덱스를 정기적으로 모니터링하고 최적화합니다. 이러한 방법을 통해 읽기 및 쓰기 성능의 균형을 맞추고 데이터베이스 효율성을 향상시킬 수 있습니다.

Toaddauserremotelytomysql, 다음에 따르면 : 1) 1) ConnectTomysqlasRoot, 2) CreateEnewerwitHremoteAccess, 3) GrantNecessaryPrivileges 및 4) FlushPrivileges

tostorestringsefficiallyInmysql, choOseTherightDatAtypeBasedOnyOURNEDS : 1) USECHARFIXED-lengthstringsLikeCountryCodes.2) UseVarCharForVariable-lengthstringsLikenames.3) USETEXTFORLONG-FORMTEXTCONTENT.4) USETEXTFORLONG-FORMTEXTCONTENT.4) USETLOBFORBINARYIMAGES

MySQL의 블로브 및 텍스트 데이터 유형을 선택할 때 Blob은 이진 데이터를 저장하는 데 적합하며 텍스트는 텍스트 데이터를 저장하는 데 적합합니다. 1) Blob은 그림 및 오디오와 같은 이진 데이터에 적합합니다. 2) 텍스트는 기사 및 주석과 같은 텍스트 데이터에 적합합니다. 선택할 때는 데이터 속성 및 성능 최적화를 고려해야합니다.

아니요, youshouthusTherootUserInmysqlforyOUrProduct.instead, createScificuserswithlimitedPrivilegestoEnhancesecurity 및 forcuments : 1) grantOnlySerypermissionStothisUser, 3) 정기적으로 재구성 한 사람들이 관리자입니다

mysqlstringdatatatypess는 Bechosenbeasedondatacharacteristicsandusecases : 1) Usecharfixed-lengthstringslikecountryCodes.2) UseVarCharforVariable-lengthstringslikenames.3) UseBaryBarBarBaryBinaryDatalikeCryPyps.4) Usebortextforlargeuns


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Dreamweaver Mac版
시각적 웹 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!