Development

20 Things Every Computer Science Graduate Should Know Before Starting a Job

Complete IT Professional - Mon, 2015-08-10 06:00

20 Things Every Computer Science Graduate Should Know Before Starting a JobYou’ve completed your Computer Science degree and have got yourself a job. Well done! Welcome to the real world! Now, there are a few things you should know before starting your first day, which I’ve listed in this article.

1 – The Days Can Be Long

Finishing a Computer Science degree will often lead you into a software development-related role. There are usually standard hours for this kind of role, which is something like 9AM to 5PM. The actual hours may be slightly different, but in general, it’s an 8 hour day.

That’s a long time to be at work if you’re new to the industry. If you’re coming from college or university, you may have had a part-time job, where you worked a few hours at the local grocery store or in a cafe or something.

Coming into a role in software development is different. You’ll be in an office. You’ll be sitting down. And you’ll be there for about 8 hours each day.

This is something I didn’t really consider when I started working. Sure, 8 hours may not seem like much, but when you’re sitting down for most of it, you can get pretty tired pretty quickly.

Also, it requires a lot of concentration. University classes are broken up into blocks and often have breaks. The day doesn’t always go for 8 hours at university, either.

So, it might not be something you are used to. The days may seem long.

You’ll get used to them though.

My part-time job in uni was in a restaurant. I found it hard going from a job where I was walking around all the time to a job where I was sitting down all day. But I got used to it.

 

2 – Don’t Be Afraid To Ask Questions

Being a graduate and starting a job means you’re new to the job and new to the industry. People have lower expectations of graduates than other employees.

So, if you’re not sure what to do, ask someone. If you’re not sure what something means, or how something works, ask someone.

You shouldn’t be afraid of asking questions. Everyone in the workplace was new at one stage, so they know what it’s like. They may know the kind of questions you want to ask and the struggles you might have.

If you have a question, ask someone. Ask your manager, ask a co-worker, ask someone you see around in the kitchen. People will usually be happy to help, especially if they know you’re new.

I still ask questions at work when I don’t know what something is. It’s much better to ask a “stupid” question than to make a stupid mistake (even though I don’t think any question is stupid).

 

3 – Take Lots Of Notes

When you start your first job, you’ll be learning a lot. You’ll learn how the company works, how the systems work, who people are, and what each department does.

You should take notes on this. Lots of notes. Don’t rely on your memory, as you’ll be learning a lot of things when you start. There’s no slides or lecture material that’s available that people will send out.

Sure, there may be some documentation and information on the Intranet that describes how the company works, but in most places, the documentation is not kept up to date, or they may be “exceptions” to the document.

Whenever you go to a meeting or are learning something from someone, take notes. Write them down in a notebook, or write them on your computer.

I prefer taking notes on the computer as they’re easy to read (my handwriting is messy), searchable, and accessible anywhere. I use Evernote for this, and if you’re interested in learning how to use it as a software developer, you can get a copy of my Evernote guide.

 

4 – Dress For The Job

If you’ve had a job before, such as a part-time or casual job during your college years, you may have had to wear a uniform. If not, at the very least you might have had some dress standards you needed to stick to.

The same concept is true for full-time work in the IT industry. You’ll need to dress for the job that you’re doing. When I say this, I mean that each company has dress standards, which is criteria of what is appropriate to wear at the office, and what isn’t.

I suggest that when you start working, get an understanding of this dress code, and stick to it. If you are required to wear a suit and tie every day, then wear a suit and tie every day. If you need to wear a shirt and pants but no tie, then wear that every day. If it’s neat jeans and a collared shirt, then you can wear that.

If there is no dress code, just ask about it. Ask someone during the interview or after you have received an offer for the job (if they don’t tell you during this process anyway).

It’s better to know before you start work, than to show up on day one with something inappropriate.

 

5 – If You Have Nothing To Do, Ask For More

Your manager’s role at work is, among many things, to monitor your workload. They will give you tasks to do for the project or team that you’re in.

If you get to a point where you finish the work they have given you, then you have nothing to do. In this situation, ask for more work. Don’t sit there with nothing to do and browse the Internet aimlessly, or play with your phone.

Ask your manager for something else to do. They may not be aware that you’ve run out of work or that you’ve finished it.

They may also want to review what you’ve done. So, if you need to, you can show it to them, or send the work to them to review.

The point of asking for more is to show initiative, and show that you are there to get the job done and help the team, not to slack off until 5PM arrives.

 

6 – Programming In The Real World Is Not Like College

You would have done some programming in college as part of your degree. When you write code, they would have taught you to do some design at the start, and then build your program from there. You would perform tests, compile the code, find an issue, fix it, and repeat.

It would usually move pretty quickly, and the only constraints would be how much effort you wanted to put in. You were often working on it by yourself, so if you wanted to work late to fix something, you could. You could add in any features or designs that you wanted.

Now, in the “real world” of working as a programmer, it works quite differently.

You usually start with the requirements which are provided to you by the business analysts, who get those from the users. The BA’s document them in a way that makes sense for the team, such as in Agile stories or a BRD.

From there, you, as a developer, would analyse them and see if they make sense to you. If they do, you can build them. If not, then you’ll need to clarify them.

After your requirements have been confirmed, you would them start some kind of design. This is done all at the same time, or in stages, depending on the methodology that your team uses.

At some point during the design phase, you may need to estimate how long it would take to build it. In many projects I’ve been on, this is one of the hardest parts to do. The estimate needs to be realistic, but can be hard given that you don’t know what you don’t know.

Once the work has been estimated, it may need to be approved by the project sponsors, to basically say “yes, we are happy with this and wish to proceed”.

From there, you would start the actual development.

Because you’re in a team, you have less control over what you can do with it. You’ll need to stick to the requirements that are provided, but any changes or suggestions you have would need to be confirmed with other people.

If something takes more time than you thought, you may need to put in overtime, or the project team may make a decision to not add that functionality in.

So, basically, it’s not all up to you to do the development, as you’re part of a team, and there are other people paying for the project who specify the requirements.

 

7 – Keep a To-Do List

I started in the IT industry in an application development and support role. It started pretty smoothly, but as I got more experienced, I found I had more work to do and more things to look after. I tried keeping track of things I needed to do, with limited success.

Now, one of the most important things I do at work is maintain a to-do list. It’s also one of the first things I set up when I go to a new client site.

The realisation for this was when I read “How To Get Things Done” by David Allen. He teaches a principle called “Getting Things Done”, or GTD for short. Basically, it involves keeping a written list of everything you need to do, instead of keeping it in your head.

This book and the GTD concept has probably been the most important concept I’ve learnt throughout my career. It’s helped me be more productive in my work and in my life overall.

So, when you get started at a new job, keep a list of things you need to do.

You can do this by:

  • Pen and notebook
  • Evernote list
  • Specific to-do app on your phone
  • Some other method

It doesn’t matter how you keep a to-do list, the important thing is that you actually keep one. It will improve the way you work, and impress your new team with how organised you are.

 

8 – Don’t Take Too Long On Your Breaks

As part of working full time, you’ll probably get an allocated time to take a lunch break. The actual time depends on the company, but I’ve usually been able to take a lunch break of up to one hour, at any time between 12PM and 2PM.

If you’re new to the IT industry, it can be hard to stick to this time, especially if you came from college. College is a bit more relaxed, where you may have skipped a few classes, or had a three hour break for lunch between classes.

With the workplace, it’s a bit different. You’re part of a team that depends on you working and getting things done. It’s also not setting a good impression if you take a lunch break longer than the recommended time.

My lunch breaks are between 30 and 45 minutes, depending on if I need to make phone calls or run errands for the day.

 

9 – Be Careful What You Say and Talk About

Working full time in the IT industry is different to working part-time or studying at college in many respects.

One area where it’s different is what you can say and what you talk about.

You might have felt comfortable talking about anything with your friends in college, or co-workers at your part time job. You could have talked about how drunk you got on the weekend, the crazy things you did, or other aspects of your life.

When you start working full time, there are some topics that are not appropriate to talk about at work.

It’s not usually a good idea to talk about getting drunk or your massive parties on the weekend. It’s also not a good idea to talk about people of the opposite sex in an offensive or discriminatory way. You should also respect other people’s race, religion, and culture.

Some things that you might have said around your friends or other co-workers are just not appropriate in the workplace.

You might already know this, but it’s good to be safe.

 

10 – You Won’t Get Paid Overtime

A part time job in college usually meant that you have a set number of hours you work, and you get paid an hourly rate. Any extra time after that and you’d get overtime.

This is generally how it works, but it depends on the job you have.

In the IT industry, you don’t get paid overtime. You are expected to work the minimum hours, of course, but when the need arises, you’re also expected to put in extra time.

This is all covered under your salary, so you don’t get paid extra for the additional hours you do.

This might seem unfair. Why would you put in extra hours if you don’t get paid for it?

Well, there are a few reasons:

  • A project deadline is approaching
  • There’s an issue in a live system that needs fixing
  • You’ve found something takes longer than expected and you’re already behind

So, if you’re expecting to get paid for extra hours, then you probably won’t be. The only exception is if you’re in some kind of on-call support role, as they are often paid for overtime and weekends.

 

11 – You Need To Be Able to Budget

Another important lesson is that you’ll need to learn how to budget your money.

Going from college, where you might have had a part-time job, to full time work, usually results in a big increase in your pay.

You’ll be tempted to spend the money you get, buying new gadgets and going out for dinner.

However, you’ll find that you don;t have enough money for what you want to do. If you need to pay rent, this is something you must pay, and you don’t want to be short one month for rent!

It took me a few years to realise that budgeting is important.

Budgeting might sounds boring, but it’s just the process of working out how much you get paid and how much you need to spend in different areas of your life.

The best way to improve something is to actually track it.

So, to start, write down how much you get paid each period (weekly or monthly, for example)

Write down all of your expenses for that period.

The number you have left over is what you can spend.

Now, this isn’t a personal finance site, so while it’s a topic I’m really interested in, I won’t go into details here.

Two websites that I follow regularly and who offer great financial information are Financial Samurai, and I Will Teach You To Be Rich (by Ramit Sethi).

Both of those websites have a lot of great information. They are both based in the US, but I’ve found the information and concepts valuable even living in Australia.

 

12 – The Environment May Not Always Be Suitable

When you were working on college assignments, you may have done them at home, or gone to the library. You had the option of moving around to find a place that’s suitable for you.

However, when you go to work full time, the environment you work in is fixed. It might not be suitable for the way you work.

The main thing to be aware of is distractions. Because there are so many people in an office, there can be a lot happening.

Some examples of things that can distract you are:

  • Other people getting phone calls
  • Your phone ringing
  • Other people talking to each other nearby
  • People walking around and making noise (closing doors, etc)
  • Some people playing music at their desk
  • Group activities in the office (foosball table, TV)

Working in an environment like this takes a lot to get used to.

Fortunately, over time I’ve been able to block out everything around me and focus on my work, most of the time. Sometimes, though, I don’t even notice when people are talking to me, which can seem a bit rude!

So, it’s just another thing to be aware of. Having distractions in the office can often mean that your work environment isn’t as suitable as you like.

Many offices these days also adopt the open-plan structure, which means they have no partitions between desks and people are sitting close to each other, instead of the high walled cubicles that you see on TV and in movies. This means that noise travels further and it’s easier to get distracted – not good if you’re a developer and need to focus on solving a problem in your code.

 

13 – Managers Love Having Meetings

You might think that managers are responsible for giving you work and managing projects you’re on.

This is true, but there’s also another thing they do with their day.

They have meetings.

So many meetings.

I’ve worked for quite a few clients in my time, and a common theme is that all of the managers are always in meetings for most of the day.

It’s like it’s a requirement of that position, and that it’s the only way to get things done.

I don’t think they actually love the meetings, it’s just an obligation or a way to discuss what needs to happen.

However, you’ll notice that your manager, and probably other managers, will be off in meetings for a long time. It might come as a surprise, but this is just a part of working life.

 

14 – You Can’t Always Install What You Want

Companies like to lock down their employee’s computers for security reasons. The restrictions depend on the company, so some companies are more relaxed than others, but overall, there is usually some kind of restriction on the computer you use at work.

As someone who works in the IT industry, you’re probably pretty familiar with how computers work. You know your way around the operating system and are comfortable with many different programs.

To get things done easier, you might want to install different programs on your computer. Evernote, 7Zip, Sublime, and Dropbox are some examples that I’ve seen.

However, the IT department might have prevented you from installing these. You won’t be allowed to install some programs on your laptop.

This is mainly for security reasons. They set up a company-wide policy that meets their security requirements, and it will either block you from installing this software, or automatically remove it every so often.

This might seem alarming to you, and even quite annoying. What do they know? You’re not going to do anything suspicious! It helps you get your work done?

There are two things you can do. You can suggest to your manager that these tools will help you do your work and see if you can get an exception to the policy.

Or, you can use the tools that are available on your computer.

Most of the time, I’ve just stuck with the tools available on my computer. They are not ideal (I’d rather use Notepad++ than Notepad), but it still lets me get the job done.

 

15 – Keep Your Personal Work To A Minimum

Working full time means that you’ll be occupied during normal business hours – from 9AM to 5PM. This is the time that most other businesses open as well.

As you start working full time and getting more responsibility in life, there are probably more things you need to get done during the day outside of your work.

Some of these are:

  • Booking your car in to the mechanic
  • Buying tickets to events
  • Calling your phone company
  • Shopping for clothes
  • Buying things for your house
  • Keeping track of your finances

Some of the tasks I’ve listed here can be done online while at home. Some other tasks can only be done during business hours. Your phone company may only accept calls between 9 and 5. This means you’ll need to take time out of your day to do this.

When you start working full time, I suggest that you keep this kind of work to a minimum. Don’t spend hours each day going to the shops, making calls, and browsing other sites to get your personal work done.

Sure, you’ll need to do a bit here and there. I recently moved house and there were a lot of calls to make and a lot of places to update my details online. However, I kept it to a certain time each day.

The reason for this is so you set a good impression. You don’t want people to think all you do is your personal to-do list.

The best time to do this is during your lunch break. However, a lot of other people have the same idea, so it’s often busy. If you can’t do it during lunch, choose another time, perhaps in the afternoon, or a time when you don’t have an immediate task to work on.

 

16 – Getting to Work May Take Longer And Have Delays

Aah, the joys of commuting to work.

If you had a part-time job while you were studying, it may have been pretty close to where you live. It could have been the local supermarket, restaurant, or some other kind of retail store.

When I was studying, I worked in a Mexican restaurant which was about a 10 minute drive from home. This was great for getting to and from work.

A lot of full-time jobs are based in a central business district (CBD). This, of course, depends on where you live, but it’s quite common. And, you may not live in the CBD. Which means it will take you longer than what you’re used to getting to work.

You can either drive to work (if you have a car), or get public transport. It depends on where you live, of course. In Melbourne, we have a few choices. I used to drive to work, then I started getting the train.

The time it takes to get to work will be longer than what you’re used to. Don’t be surprised if you find you have to leave home at 7:30 to get to work by 9.

Also, because it’s the time when everyone is going to work, it will be busy. The same drive at night time will be a lot faster than in the morning peak-hour traffic.

It can also mean delays. Car accidents can cause delays for a long time. Delays with public transport may be rare, or quite regular, depending on your city. In Melbourne, they happen almost every day!

So, just be aware that getting to work will take longer than you expect.

 

17 – You’re Not Stuck in One Role

The good news about working in IT is that you’re not stuck to a particular role. In many other industries, you’re often working in a role for a long time, and you get promotions to more senior roles. The roles may be quite similar, just with more responsibility.

However, in IT, you have a lot of flexibility to move around.

Are you a .NET Developer? Great.

Want to move into something focused more on SQL Server? Great, you can do this.

Want to be involved in testing? Sure.

Want to move into project management, or team leading, or business analysis? Sure, you can do that as well.

To move around roles you need some training and some experience. You can use experience in one role to move to the next, so after a couple of years in one role (for example) you can look to move towards a different role, if you want.

Training is the other big factor. You’ll need to know how to do the job that you want, so it’s a good idea to look into some training and learn how the new role works. This will make it easier for you and the company.

Many vendors and companies offer all kinds of training, so do a Google search for some related training courses.

 

18 – This Won’t Be Your Last Employer

The company you start working for in your first job in IT won’t be the last employer. It’s rare for people these days to stay in a job for their entire lives, like our parents or grandparents might have.

Don’t be afraid that you’re taking the wrong job, or that you’ll be stuck at a company. Sure, it’s important to start working at a good job and one that will improve your skills and career, but don’t feel like you need to pick one and commit to it for life.

It’s common for people to move around employers, and it’s a great way to improve your salary (which I teach in my IT Salary Success course).

If you start working somewhere and get some good experience after a few years, you are allowed to leave. Firstly, you should look at your current employer to see if there is room for growth, but if not, you can consider moving employers.

 

19 – Going Out for Drinks the Night Before a Work Day is Not a Good Idea

Young people like to drink. We like to go out with friends for dinner, which leads to drinks. Or we just like to go out and start drinking.

Most of the time, this happens on a Friday or Saturday night.

Sometimes, it happens during the week. Especially when you’re at uni or college. When I was at uni, a lot of bars had “Uni Nights” which were on Tuesdays and Thursdays, where uni students went out and drank.

Going out for drinks is fun. What’s not fun, is going to work the next day after going out drinking.

You might be tempted to have a few drinks on a week night, which leads into a few more drinks, and all of a sudden you’re getting home at midnight and are quite drunk.

You’ve got to get up for work the next day and put in a full day’s performance.

This is one of the hardest things to do in life – working while hungover.

I did it once, and won’t be doing it again.

It’s just not worth it.

So, it probably requires a change in lifestyle if you’re the kind of person who likes to go out and drink during the week.

 

20 – The Quality of Your Work is Important

One of the most important things to know is that the quality of the work that you do is important.

In uni and college, the quality was important as well. You write an assignment, or develop some code for your assignment. Once it’s submitted, it’s marked, you get a result, and that’s it. The assignment is never used again.

A better quality assignment meant a better grade. However, it didn’t last long. The only purpose of the assignment quality was to get a good grade.

In the IT industry, the quality of your work lasts a long time.

You code is deployed to a live, production system, and stays there for years.

Your documentation is used by the team for the entire project, and may even be used by the support team.

Your spreadsheets for your analysis may be used by other people for a while to help them do their job.

So, it’s important to produce good quality work. It helps your team, it helps your team manager, and also helps others who are affected by it.

One of the most important books I’ve read recently is “Clean Code“. It explains the importance of writing good quality, clean code. If you haven’t read it, I suggest you do.

The quality of your work is important as it can also help you get promoted and move into other roles. It’s a reflection of you and how you work, so make sure it’s good!

 

Summary
So, in summary, here are the 20 things that every computer science graduate should know before starting a job:
  1. The days can be long
  2. Don’t be afraid to ask questions
  3. Take lots of notes
  4. Dress for the job
  5. If you have nothing to do, ask for more
  6. Programming in the real world is not like college
  7. Keep a to-do list
  8. Don’t take too long on your breaks
  9. Be careful what you say and talk about
  10. You won’t get paid overtime
  11. You need to be able to budget
  12. The environment may not always be suitable
  13. Managers love having meetings
  14. You can’t always install what you want
  15. Keep your personal work to a minimum
  16. Getting to work may take longer and have delays
  17. You’re not stuck in one role
  18. This won’t be your last employer
  19. Going out for drinks the night before a work day is not a good idea
  20. The quality of your work is important

I hope you found these tips useful. Share this article with your friends and colleagues to spread the word!

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of t0zz / FreeDigitalPhotos.net

Categories: Development

Ancestor Worship

Greg Pavlik - Sat, 2015-08-08 08:25
Some profound lessons in how to be human that we can learn from our Confucian friends


Fascinating Lives

Greg Pavlik - Fri, 2015-08-07 18:38
There is something, I think, admirable in a quiet life: care for family, constructive participation in community, hard work. But there are times and places (perhaps all times, but not all places?) where simply attending to the simple things of life becomes a kind of impossibility: whether for psychological or moral reasons. I was reflecting on two persons recently who have struck me by not only their intellectual genius but also by the sheer force by which they pushed against the norm, one for reasons of psychology and one for reasons of morality.

Yukio Mishima: narcissist, political fanatic, suicide. And one of Japan's greatest novelists. I recently completed the Sea of Fertility tetralogy, which traces the life of Shigekuni Honda from youth to retirement as a wealthy attorney, centered around what Honda believes are the successive reincarnations of his friend Kiyoaki Matsugae: as a young rightist, a Thai princess and an orphan. The most powerful of the four novels, in my opinion is the second: Runaway Horses. The book seems to rebuke the militant nationalism of Japanese reactionaries, though ironically enough Mishima himself ends his own life under the banner of a similar ideology. Mishima's fascinating portrait of an inherent dark side of youth - a taming of a deep inhumanism - so to speak, comes through almost all the novels, but most strongly in the last. This echoes a theme he developed in The Sailor Who Fell From Grace with the Sea, though I can think of few works that more strongly explore this theme than the Lord of the Flies. In any case, Mishima is masterful in exploring aberrant developmental psychology - even as he, himself, seems to have been stricken with his own disordered personality.

Maria Skobtsova: atheist, symbolist poet, Bolshevik revolutionary - and a renegade nun arrested for helping Jews in Paris by the Gestapo, she allegedly died by taking the place of a Jewish woman being sent to death. Jim Forrest provides a useful overview of her life - unlikely most lives of a Christian saints, this is no hagiography: it is a straightforward story of life. At the same time, we see a life transformed by a dawning realization that self-denial is a path to transformation -

"The way to God lies through love of people. At the Last Judgment I shall not be asked whether I was successful in my ascetic exercises, nor how many bows and prostrations I made. Instead I shall be asked did I feed the hungry, clothe the naked, visit the sick and the prisoners. That is all I shall be asked. About every poor, hungry and imprisoned person the Savior says ‘I': ‘I was hungry and thirsty, I was sick and in prison.’ To think that he puts an equal sign between himself and anyone in need. . . . I always knew it, but now it has somehow penetrated to my sinews. It fills me with awe."

And despite a life dedicated to service, she remained an acute intellectual, a characteristic of so many Russian emigres in Paris. This too reflected her view that redemption and suffering where intertwined - my favorite piece On the Imitation of the Mother of God
- draws this out beautifully.


Oracle ADD_MONTHS Function with Examples

Complete IT Professional - Thu, 2015-08-06 06:00

Oracle ADD_MONTHS Function with ExamplesIn this article, I’ll explain how the very useful ADD_MONTHS function works and use some examples.

Purpose of the Oracle ADD_MONTHS Function

The purpose of the Oracle ADD_MONTHS function is to add a specified number of months to a date, and return another month.

 

Syntax

The syntax of the ADD_MONTHS function is:

ADD_MONTHS ( input_date, number_months )

The function returns a DATE value.

 

Parameters

The parameters of the ADD_MONTHS function are:

  • input_date (mandatory): This is the starting date, or the date that you will add a number of months to.
  • number_months (mandatory): This is an integer value that represents the number of months to add to input_date.

Some things to note about this function:

  • The input_date can be any DATETIME value, or a value that can be converted to DATE (such as a VARCHAR2 formatted as a date).
  • The number_months can be any integer value, or a value that can be converted to an integer (such as a VARCHAR2 formatted as a whole number).
  • The return type is always DATE, even if the data type supplied for input_date is not a DATE.

 

What If The Number Of Days Are Different?

This is a valid question. What would happen if you try to add to a month using ADD_MONTHS, with the original date being at the end of the month, and the resulting month doesn’t have that day?

Well, the function would return the last day of the resulting month.

For example, adding 3 months to January 31 will return April 30 (because April only has 30 days).

 

Is There An Oracle ADD_DAYS Function Like ADD_MONTHS?

No, there is no ADD_DAYS function in Oracle.

However, you can easily add or subtract a day from a date by just adding the number to it.

For example, to add 3 days to today’s date:

SELECT SYSDATE + 1 FROM dual;

To subtract 7 days from today’s date:

SELECT SYSDATE - 7 FROM dual;

There doesn’t need to be an extra function to do this.

 

Is There An Oracle ADD_YEARS Function Like ADD_MONTHS?

No, there is also no ADD_YEARS function in Oracle.

The good news is you can use ADD_MONTHS with a number_months parameter of 12, to add a single year. You can use multiples of 12 to add more years.

Also, you can use negative numbers to subtract years (such as -12).

See the Examples section below for more details.

 

Can Oracle ADD_MONTHS Subtract Months?

Yes, you can subtract months using the ADD_MONTHS function by simply using a negative number as the number_months parameter.

See the Examples section below for more details.

 

How Do You Get The First Day Of The Month Using Oracle ADD_MONTHS?

There are several ways to get the first day of the month, and one is using ADD_MONTHS.

SELECT TRUNC(ADD_MONTHS(LAST_DAY(SYSDATE)+1,-1) FROM dual;

You can also use the TRUNC function by itself:

SELECT TRUNC(SYSDATE,'MM') FROM dual;

 

Examples of the Oracle ADD_MONTHS Function

Here are some examples of the ADD_MONTHS function. I find that examples are the best way for me to learn about code, even with the explanation above.

Example 1

This example shows how to add one month to the current date.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, 1) as ADD_MONTH_RESULT
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT06/AUG/201506/SEP/2015

The ADD_MONTH_RESULT shows that one month has been added to the date.

 

Example 2

This example shows how to add six months to the current date.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, 6) as ADD_MONTH_RESULT
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT06/AUG/201506/FEB/2016

The result is six months added to the current date, which results in Feb 6, 2016.

 

Example 3

This example shows how to add a larger number of months.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, 41) as ADD_MONTH_RESULT
FROM dual;

Result

SYSDATEADD_MONTH_RESULT06/AUG/201506/JAN/2019

The result is in January 2019, which is 41 months into the future.

 

Example 4

This example shows how to subtract months by using a negative number

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, -6) as ADD_MONTH_RESULT
FROM dual;

Result

SYSDATEADD_MONTH_RESULT06/AUG/201506/FEB/2015

The result is in February 2015, which is 6 months before the SYSDATE.

 

Example 5

This example shows the use of a number inside quotes, which is actually a CHAR but should get treated like a numeric value.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, '5') as ADD_MONTH_RESULT
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT06/AUG/201506/JAN/2016

The result is a date in January 2016, which is five months into the future.

 

Example 6

This example shows a text value inside the number_months parameter.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, 'Six') as ADD_MONTH_RESULT
FROM dual;

Result:

ORA-01722: invalid number
01722. 00000 -  "invalid number"

This is because I used the value of “Six”, which isn’t actually a number.

 

Example 7

This example uses a specific date as the input date, instead of SYSDATE.

SELECT TO_DATE('08-JUL-2015') as INPUT_DATE,
ADD_MONTHS(TO_DATE('08-JUL-2015'), 1) as ADD_MONTH_RESULT
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT08/JUL/201508/AUG/2015

As you can see, a single month is added to the specified date.

 

Example 8

This example uses a decimal number as the number of months to add.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, 2.3) as ADD_MONTH_RESULT_LOW,
ADD_MONTHS(SYSDATE, 2.9) as ADD_MONTH_RESULT_HIGH
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT_LOWADD_MONTH_RESULT_HIGH06/AUG/201506/OCT/201506/OCT/2015

In both cases, the value is the same. This is because the decimal value has been rounded down to 2, even if the 2.9 would normally be rounded up to 3.

 

Example 9

This example shows how you can add a year to a date.

SELECT SYSDATE,
ADD_MONTHS(SYSDATE, 12) as ADD_MONTH_RESULT
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT06/AUG/201506/AUG/2016

The result is a date one year into the future.

 

Example 10

This example shows how to find the first day of the month using the ADD_MONTHS function.

SELECT SYSDATE,
TRUNC(ADD_MONTHS(LAST_DAY(SYSDATE)+1,-1)) as FIRST_DAY
FROM dual;

Result:

SYSDATEADD_MONTH_RESULT06/AUG/201501/AUG/2016

As you can see, the result is the first day of the month that was provided.

 

Similar Functions

Some functions which are similar to the ADD_MONTHS function are:

  • TRUNC – Truncates a datetime into a date format.
  • LAST_DAY – Returns the date of the last day of the specified month.

You can find a fill list of Oracle SQL functions here.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

How To Use the SQL Developer Format SQL Options

Complete IT Professional - Wed, 2015-08-05 06:00

How To Use the SQL Developer Format SQL OptionsIn this article, I’ll explain what formatting SQL is, and how to find the SQL Developer Format SQL options.

What Is SQL Formatting?

SQL formatting is the process of neatly arranging your code to make it more readable.

When you write SQL, the format of the code is not relevant to the database. By this, I mean that the SQL statement will execute if the syntax is correct and the formatting is terrible.

Formatting the SQL code will clean up the line breaks, indentation, capitalisation, and overall look of your SQL.

You can do this manually, or automatically, in SQL Developer. We’ll discuss them in this article.

 

Why Should I Format SQL Code?

Have you ever had a look at someone else’s code, and tried to work out what it’s doing, but couldn’t because the code was all over the place? Similar statements weren’t grouped, capitalisation wasn’t used, the code was not indented consistently, and it was just a mess to understand?

Well, this is precisely the reason you should format your SQL code.

It makes it easier for you to read in the future, for when you need to make changes.

It makes it easier for you right now, as you’re working on the code.

It also makes it easier for others to read.

It helps with debugging as well, because if the code is well formatted, it’s easier to see where any issues are, and work on them.

So, there are a few reasons you should format your SQL code. How do you do it in SQL Developer?

 

How To Change The SQL Developer Format SQL Options

The formatting options inside SQL Developer are some of my favourite options in the program. Without this feature, my SQL writing would be a lot worse.

To find these options, first go to Tools > Preferences.

autocommit 01 crop

The Preferences window is then shown.

autocommit 02

Click on the + next to the Database item to expand the Database section.

Click on the SQL Formatter item.

sql format 01

Now, there are many options here for formatting SQL. The SQL Formatter entry allows you to automatically format the SQL, with the “Autoformat Visible SQL and PL/SQL”. This is turned off by default.

The main area where the format SQL options are is under the SQL Formatter entry. So, click on the + icon next to SQL Formatter.

Two items will appear: Oracle Formatting, and Other Vendors. This “Other Vendors” option includes Access, DB2, SQL Server, and Sybase.

For the moment, we’ll just look at Oracle Formatting.

Click on Oracle Formatting. You’ll get this screen.

sql format 02

Now, this shows two main sections. The small section at the top is where you choose your profile (which we’ll come back to in a minute). You can also Import and Export profiles, which is a fantastic feature.

The larger section below is the Preview. This is how the SQL code will look, based on your profile. It’s read-only, so you can’t change the settings here.

To actually change the formatting settings, you’ll need to select a profile and click Edit.

Or, to create a new profile, select one and click Save As. You’ll be prompted to enter a name, which will then appear in your profile list.

After you click Edit, you’ll be shown this window.

sql format 03

On the left, you’ll have a list of settings, in a similar tree structure as the previous window. On the right is your preview panel.

The window may be a little small, so you might want to make it wider. Especially the Preview pane if you want to see more of what the code will look like.

There are a LOT of options to change on this window, such as:

  • Input and Output – change options for importing or outputting SQL
  • Alignment – align different types of characters
  • Indentation – set the number of spaces to indent and indenting different keywords
  • Line Breaks – what points to insert line breaks
  • CASE Linebreaks – what points during the CASE statement to insert line breaks
  • White Space – how to deal with spaces around different characters or keywords
  • Other – comments and case changing

I won’t go into detail about what each of these options include in this article, but feel free to change them and see how they impact your code. You can see the Preview on the right. Also, you can save and exit out of the windows and see how it will directly impact any code you’re working on.

How do you format your SQL code in SQL Developer?

You can press CTRL+F7 to format the SQL code in your current Code Editor window to update the formatting of the code based on any format changes you have made.

So, that’s how you can access and change the SQL Developer format SQL options.

If you want to see a full list of the Oracle SQL functions, along with tips and examples, view my Oracle SQL Functions page.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

Expert Oracle Application Express 2nd Edition

Denes Kubicek - Wed, 2015-08-05 03:00
Expert Oracle Application Express 2nd Edition seems to be available at Apress. Buy this book and support the charity project in memory of Carl Backstrom and Scott Spadafore (previous members of the APEX Team). Please note that all funds will be donated to the families of these two great men.

Categories: Development

4 Things To Do If a Your Teammate Is Slowing The Team Down

Complete IT Professional - Mon, 2015-08-03 06:00

4 Things To Do If a Your Teammate Is Slowing The Team DownDo you have a team member that seems to be slowing the team down and not “pulling their weight” to get things done? Learn what you can do about it in this article.

This is a common problem when working in teams.

There are a few of you working on the one project, trying to get it all done before the deadline. You’ve all got work allocated to you, you’re discussing how to solve the problems you’re having, and trying to get your code done and ready for testing.

But, there’s one person in the team that seems to be quite a bit slower than the rest. They are not getting as much done, and as a result, they’re slowing the team down.

What can you do in this situation?

There are a few things you can do, actually.

 

Ask Them If They Need Help

The first thing that I recommend you do is speak to them and ask if they need help.

A simple question like “Hey, is there anything I can help you with?” is a good way to start.

If they are struggling with getting their work done because there is too much of it, you can help them by taking some of the work from them. Perhaps there’s a couple of user stories they haven’t gotten to, or some defects that are on their list of things to fix.

Taking things from their to-do list after asking them can help the team work better.

If they aren’t struggling with a long list of things to do, and they’re just having issues with writing the code or understanding an issue, you might be able to help them there. Sometimes, as developers, we can spend a long time looking at a single issue or an area of code, and it takes up so much time we don’t even know where the day went. This can cause unexpected delays in the team, as they might be waiting for us to do other things.

If your team member is doing this, maybe you can step in and help them look at it. If they are a more junior team member, maybe they don’t understand the code as well as others, or they aren’t as experienced or efficient with their code.

Or, they may be struggling to solve a defect, which can happen regardless of their experience. A second set of eyes can really help.

 

Ask Them If They Think They Can Meet The Deadline

Another thing you can ask your team member is if they can meet the deadline.

“Hey, this code needs to be dropped into the testing environment on Thursday, do you think you can meet that date?”

It’s good to ask this because you force the other team member to think about the deadline and give a response. They can give a variety of answers here.

If they are unsure that they can meet the deadline, or they say they can’t, you can offer to help them by going back to the first point above, and asking them if they need help.

 

Ask Your Manager For Some Of Their Work

Let’s say you’ve tried the first two steps and spoken to them about their work. It’s been going on for a while and things haven’t improved.

At this point, I would suggest speaking to your manager.

Ask your manager if you can take some of their work, or if some of the tasks they were expected to do can be moved to you.

When you do, try to frame it in a way that you’re able to take on the work, or that you have extra capacity to do it, rather than the other team member being inefficient.

This isn’t meant to deceive anyone, but I’m suggesting doing it this way initially so you can get some work to do and help the team.

 

Mention Your Concerns To Your Manager

Another thing you can do is to mention your concerns to your manager.

Talk with your manager and say that you have concerns over the speed of your team member or the fact they may be slowing the team down.

Try not to do this as though you want them to be fired. Instead, try to do it as though you want to help the team out and you’re concerned with the team.

Your manager may have a few suggestions on what can be done.

You can also come up with some suggestions as well. You should have spoken to the team member already, using the steps above, to see what can be done. You can offer to take some of their work, or your manager may want to reorganise the work in the team to make it more efficient.

The point of this is to make your manager aware of your concerns and to get the project running better. In the long run, your team member should be improving their skills, so hopefully it’s only a short term problem and doesn’t delay your team for a long time.

 

Career Action Tip: If you have a team member that is slowing the team down, ask them if there’s anything you can do to help them.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

Planet Hard Drive? Muddled nonsense from Scientific American

FeuerThoughts - Thu, 2015-07-23 08:59
In the August 2015 issue of Scientific American, I came across an article titled "Planet Hard Drive", a "thought experiment" arguing that we can think of Earth as a kind of "hard drive" and "although Earth has an enormous capacity to store information, order is still rare....but the growth of order on Earth also stems from the production of cultural information."

The article is behind a paywall, so I cannot reproduce it here, but if you are a subscriber, here you go.

I find it generally hard to read SciAm these days, as well as many other scientific sources, because of the pervasive species-ism (humans unique, more important than all others) found sadly among scientists.

But this article was, I thought, a real disappointment, coming from SciAm. I sent this letter to the author:

Professor Hidalgo, 

I read your SciAm article with the above title, and I found it scientifically sloppy and offensively tone deaf, given the state of our planet today (specifically the threat of climate change and human-cause extinctions and species degradation). 

You might not read past that initial paragraph but if you do:

Scientifically Sloppy

I am all for interesting “thought experiments”, but it should have a reasonable amount of logical consistency. I think your experiment fails in this regard. 

Specifically, you talk about the growth of order on earth from production of cultural information.

This implies a clear net positive change in order due to our intensely “ordered” products. 

Yet previously, you recognized that there is order (lots of it) in living things. 

And that's where I see a very deep (specie-ist-driven) fallacy: to create our products humans destroy a vast amount of living things and therefore wipe out corresponding enormous amounts of order. 

Vast parts of the rainforest, extinction of entire species, degradation of the ocean, etc., etc., etc. - do you really think that if you even attempted to conceptualize the volume of order sacrificed to build iPhones, you could come out with a net positive growth in order?

I suppose it might be remotely possible - but you don’t even address this trade-off, making your argument incomplete and sloppy. I am very surprised that SciAm did not insist on a more rigorous treatment.

Sdaly, you seem to blithely accept that destruction of life on our planet in order to manifest our culture-as-thought as products. 

Which that brings me to…

Offensively Tone Deaf

Your insistence to see the entire world through a human filter and impose human paradigms onto the rest of the natural world is shocking, giving the growing awareness (especially among the most rational of us, like many scientists).
“A tree, for example, is a computer”
“Objects of this kind [manufactured products] are particularly special.”
“Biological cells are finite computers”
“People are also limited, and we transcend our finite compuational capacities by forming social and professional networks.”
“Special” “Transcend”

You use words that impute relentlessly positive values to human activity. 

Yet if you do not place humans “above” all others, you could at least say (my changes in bold):

“People are also limited, and we augment our finite compuational capacities by forming social and professional networks. A necessary consequence of this agumentation is the destruction of the computational capacities of billions of other living creatures.

At the very end of your muddled thought experiment, you finally hint at a bigger picture:
“The resulting hyperconnected society will present our species with some of the most challenging ethical problems in human history.”
Ah, ethics! Finally! Professor Hidalgo will now point out the grave price paid by our planet and co-inhabitants for human's desire for comfort and convenience, but....

No, no. For you, like way too many other humans, all that matters is the human species.
“We could lose aspects of our humanity that some of us consider essential: for example, we might cheat death.”
Now that would be a real ethical disaster (cheating death) - precisely because it mean accelerated devastation of our planet and non-humans.

But that doesn’t seem to even register in your thinking.
Categories: Development

New APEX Blog

Denes Kubicek - Wed, 2015-07-22 03:33
This is a new blog on APEX. I expect a lots of good stuff there in the future. The last example describes how to modify the Page Designer and move the panes, adjust the layout and simplify the development of an application since accessing element attributes is much easier that way. I think this is worth of looking at and maybe the APEX team considers this as an improvement for the future release.



Categories: Development

A Lot To Listen To

FeuerThoughts - Mon, 2015-07-20 07:40
A Lot To Listen To

Sometimes, if you're lucky,
there is nothing to hear
but the sound of the wind
blowing through trees.

Now you could say:
"That's not much to listen to."
Or you could listen...

Listen
to the rustling, hissing, whispering, sometimes angry sound
of thousands 
of almost silent brushings of leaf against leaf,
of feather-light taps of twig striking twig,
any single act nothing to hear at all
but when the tree is big enough
and the leaves are numerous enough
and the branches reach out 
thinner and thinner
poking out toward the sun
carrying leaves to their destiny,

then you might be able to hear
the sound of the wind
blowing through trees.

It's a lot to listen to,
if you can hear it.




Copyright 2015 Steven Feuerstein
Categories: Development

First patch set (5.0.1) released for APEX 5.0

Dimitri Gielis - Thu, 2015-07-16 16:22
I know some people waiting till the first patch set that comes available after a major Oracle APEX release... today you no longer have to wait, APEX 5.0.1 is now available.

In the patch set notes you can read what changed.

If you're still on APEX 4.x you can go immediately to APEX 5.0.1, you only need to download the latest version on OTN.

If you're already on APEX 5.0, you can download the patch set from support.oracle.com, search for patch number 21364820. Applying the patch took less than 5 minutes in my environment.



This patch set updates the Universal Theme too, so don't forget to update your images folder. When you login in APEX after the patch, it will check if you have the correct images folder, if not it will give you an alert. Although I updated the images directory I still got that alert due to browser caching. Refresh your page and it should be ok.

Note that it's important to be on APEX 5.0.1 when you use APEX Office Print - currently available in beta for a select audience, public release end of this month (July 2015). Behind the scenes we use the APEX_JSON and APEX_WEB_SERVICE packages which got an update in APEX 5.0.1.

And finally, there's a nice new D3 chart available in APEX 5.0.1 called "D3 Collapsible Treemap Chart"


Happy upgrading...

Update 18-JUL-2015: there're still a couple of known issues, please read those too and install some patchset exception when necessary.
Categories: Development

Oracle APEX 5.0.1 now available

Patrick Wolf - Thu, 2015-07-16 06:48
Oracle Application Express 5.0.1 is now released and available for download. If you wish to download the full release of Oracle Application Express 5.0.1, you can get it from the Downloads page on OTN. If you have Oracle APEX 5.0.0 … Continue reading
Categories: Development

Oracle LTRIM Function with Examples

Complete IT Professional - Thu, 2015-07-16 06:00

Oracle LTRIM FunctionThe LTRIM function removes characters from the left side of a string. Learn more about it and see some examples in this article.

Purpose of the Oracle LTRIM Function

The purpose of the LTRIM function is to remove a specified character from the left side of a string. The L in LTRIM stands for “Left”, and is the opposite of the RTRIM or “Right” Trim function.

 

Syntax

The syntax of the Oracle LTRIM functions is:

LTRIM( input_string, [trim_string] )

 

Parameters

The parameters of the LTRIM function are:

  • input_string (mandatory): This is the string to remove characters from the left-hand side of.
  • trim_string (optional): This is the string to be removed from the input_string. If it is not specified, a space is used, and all spaces are removed from the left of the input_string.

Some points to note about LTRIM:

  • If the trim_string is a literal value, you need to include it inside single quotes. For example, to remove an underscore, you need to specify it as ‘_’
  • Both input_string and trim_string can be of data type CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.
  • The returned value is a VARCHAR2 data type if the input types are CHAR, VARCHAR2, NCHAR or NVARCHAR2, and the returned value is a LOB data type if the input types are LOB or CLOB.
  • The trim_string can be more than one character
  • The function removes each individual value inside trim_string, not the string as a whole. See the Examples section below for more information.

 

Can You Use Oracle LTRIM To Remove Leading Zeroes?

Yes, you can. It’s one of the more common uses for the function that I’ve seen.

This can be done as:

LTRIM(value, ‘0’)

See the Examples section below for more information.

 

Can You Use Oracle LTRIM with RTRIM?

Yes, you can, and it works in the same way as just using the TRIM function.

You’ll need to use one inside the other, and it doesn’t really matter which one is used first.

So, you can use either LTRIM(RTRIM(value)) or RTRIM(LTRIM(value)).

See the Examples section below for more information.

 

Are There Other Ways for Oracle to Trim Strings?

Yes, there are a few ways you can trim strings in Oracle:

  • Use LTRIM or RTRIM
  • Use TRIM
  • Use REPLACE
  • Use SUBSTR if you need more advanced trimming features
  • Use regular expressions

 

Examples of the LTRIM Function

Here are some examples of the Oracle LTRIM function. I find that examples are the best way for me to learn about code, even with the explanation above.

Example 1

This example demonstrates a simple LTRIM with no trim value specified.

SELECT LTRIM('    Complete IT Professional')
AS LTRIM_EXAMPLE FROM DUAL;

Result:

LTRIM_EXAMPLEComplete IT Professional

The extra spaces are removed from the original value.

 

Example 2

This example uses a specific value to trim.

SELECT LTRIM('___Complete IT Professional', '_')
AS LTRIM_EXAMPLE FROM DUAL;

Result:

LTRIM_EXAMPLEComplete IT Professional

The underscores are removed from the original value.

Example 3

This example uses LTRIM with several characters as the string to trim.

SELECT LTRIM('; ; ; ; ; Complete IT Professional', ' ; ')
AS LTRIM_EXAMPLE FROM DUAL;

Result:

LTRIM_EXAMPLEComplete IT Professional

Both the spaces and semicolons are removed from the original value.

 

Example 4

This example uses LTRIM  on data in a table, instead of providing a value.

SELECT country, LTRIM(country, 'U')
AS LTRIM_EXAMPLE FROM customers;

Result:

COUNTRYLTRIM_EXAMPLEUSASAUSASACanadaCanadaUKKUSASA(null)(null)FranceFrance(null)(null)

The capital U is removed from several values.

 

Example 5

This example uses LTRIM on data in a table with several characters in the trim parameter.

SELECT full_address, LTRIM(full_address, '1')
AS LTRIM_EXAMPLE FROM customers;

Result:

FULL_ADDRESSLTRIM_EXAMPLE10 Long Road0 Long Road50 Market Street50 Market Street201 Flinders Lane201 Flinders Lane8 Smith Street8 Smith Street14 Wellington Road4 Wellington Road80 Victoria Street80 Victoria Street5 Johnson St5 Johnson St155 Long Road55 Long Road

The “1” characters are removed from several address values.

 

Example 6

This example uses LTRIM  with 0 as the parameter.

SELECT LTRIM('000Complete IT Professional', 0)
AS LTRIM_EXAMPLE FROM DUAL;

Result:

LTRIM_EXAMPLEComplete IT Professional

The zeroes are removed from the original value.

 

Example 7

This example uses both LTRIM and RTRIM in the one expression.

SELECT LTRIM(RTRIM('___Complete IT Professional__', '_'), '_')
AS RTRIM_EXAMPLE FROM DUAL;

Result:

LTRIM_EXAMPLEComplete IT Professional

The underscores are removed from both sides of the original value.

 

Example 8

This example uses Unicode characers as the trim parameter.

SELECT LTRIM('ééComplete IT Professional', 'é')
AS LTRIM_EXAMPLE FROM DUAL;

Result:

LTRIM_EXAMPLEComplete IT Professional

The accented “e” character is removed from the original value.

Similar Functions

Some functions which are similar to the LTRIM function are:

  • RTRIM – Trims characters from the right of the string. The opposite of the LTRIM function.
  • TRIM – Trims characters from both the left and right side of the string. A combination of LTRIM and RTRIM.
  • SUBSTR – Extracts one value from a larger value. Not really a TRIM function but does something similar.
  • REPLACE – Replaces occurrences of one text value with another.

You can find a full list of Oracle functions here.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of digitalart / FreeDigitalPhotos.net

Categories: Development

APEX 5 - Opening and Closing Modal Window

Denes Kubicek - Wed, 2015-07-15 05:56
This example is showing how to open a Modal Page from any element in your application. It is easy to get it working using some standards like a button or a link in a report. However, it is not 100% clear how to get it working with some other elements which don't have the redirect functionality built in (item, region title, custom links, etc.). This example is also showing how to get the success message displayed on the parent page after closing of the Modal Page.

Categories: Development

How To Keep Calm at Work

Complete IT Professional - Mon, 2015-07-13 06:00

How To Keep Calm at WorkAs part of your job in the IT industry, there will no doubt be times that you will get annoyed and stressed. Learn how to keep calm at work with some tips in this article.

Take a Deep Breath

When I’m not feeling calm at work, the first thing I do is stop and take a big, deep breath. It makes me stop what I’m doing for a few seconds and focus just on the breath that I’m taking.

It always makes me feel better, especially when I’m annoyed about something.

So, next time you’re feeling stressed, annoyed, or irritated about something at work, try this.

  • Stop what you’re dong.
  • Take one big deep breath in.
  • Breathe it all out.
  • Resume what you were doing.

That whole process only takes about ten seconds. But, it allows you to re-focus on what you’re doing and can have a calming effect on you.

 

Remember the Bigger Picture

Another tip that I can suggest to keep calm at work is to remember the bigger picture of why you’re there.

If you’re getting annoyed at someone else or having a disagreement with them over the way a certain feature should be developed for your project, for example, then one thing you can do is to try think of the bigger picture.

What’s the overall plan for what you’re doing? What are you both trying to achieve?

If you have different ideas on how something should be done, for example, you could be disagreeing over how it’s being done. Think about why you’re both there, on the project.

Are you trying to add a new feature to make the customers’ lives easier? Are you trying to improve an internal system? Make a new system from scratch?

If you can see what you’re both trying to do at a high level, and see things from the other person’s point of view, it can help you keep calm at work.

 

Get Away From Your Desk

Another tip I can suggest is to get away form your desk if you want to calm down.

You can try go for a walk outside. Get out of the office and get some fresh air. Walk around the block, down to th ecar park, to the coffee shop – anything to get outside and get some fresh air.

The exercise, the fresh air, and taking a break from your work all contribute to helping you keep calm at work. It can also give you more energy.

If you can’t walk outside for whatever reason, if it’s pouring with rain for example, then take a walk to the ktichen or somewhere else inside.

You can go get a coffee or a glass of water or something. This can help you feel better at work and also gets you away from the desk.

In any case, when you return to what you were doing, you should feel a little calmer and a little better.

 

Vent To A Friend

We can do all of the breathing and walking outside that we want, but sometimes, it just isn’t enough.

I mean, most of the time it works for me, but there’s been a few times over the years where I’ve felt really annoyed.

If you feel the same way, then speak to a friend of yours about it and tell them the story.

You can speak to your partner, a friend outside work, a family member, or someone in your team, depending on the issue.

Sometimes it can really help if you just get it off your shoulders and just express the way you’re feeling to someone.

It’s not something I suggest doing all of the time, but it can help sometimes if you really just can’t focus on your work and whatever the issue is has really thrown you off your game.

 

Readers: What methods do you use to keep calm at work after something goes wrong? Do you have any other tips to share about staying calm? Share them in the comments section below.

Career Action Tip: Next time you’re feeling annoyed about something at work, remember to take a deep breath and consider going for a short walk outside.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of stockimages / FreeDigitalPhotos.net

Categories: Development

Hot Deployment in JDeveloper 12c - Don't Stop/Start Your App

Shay Shmeltzer - Fri, 2015-07-10 16:45

Old habits are hard to get rid off, and I still see long time users of JDeveloper (and also many new users) who are stopping/starting their application on the embedded WebLogic each time that they make a change or addition to their code.

Well you should stop it! (I mean stop stopping the application).

For a while now, JDeveloper has support for hot deployment that means that when you do most of the changes to your code you just need to do save-all followed by a rebuild of your viewController project - and that's it.

You can then go to your browser and reload your page - and the changes will be reflected there.  This will not only save you the time it takes to undeploy and redeploy your app, it will also reduce the amount of memory you use since frequent redeployment of the app on the embedded WebLogic leads to bigger memory consumption.

In the demo below I use JDeveloper 12.1.3 to show you that I can just do the save->rebuild and pick up:

  • Changes in the JSF file
  • Changes to the JSF configuration file adfc-config.xml
  • New classes that are added to both the model and viewController projects
  • Changed to the ADF configuration files (pagedefs, data binding, data controls)

So for most cases, you should be covered with this hot-deployment capability.

There are some cases that will require a redeploy of the application (for example if you add a new skin css file, or if you change some runtime configuration of your app in web.xml) but for most cases you don't need to continue with the stop/start habit.

Categories: Development

How To Turn On or Off SQL Developer Autocommit Settings

Complete IT Professional - Fri, 2015-07-10 06:00

SQL Developer AutocommitIn this article, I’ll explain what the SQL Developer Autocommit feature is, where to find it, and how to turn it on or off.

What Is SQL Developer Autocommit?

When you write an SQL statement in SQL Developer, you perform an operation on that data. If you’re just reading the data, this is pretty straightforward.

Where it acts differently is when you change data in the database. This is usually done with the DELETE, INSERT, or UPDATE statements.

If you run an SQL statement that does any of these functions, then the data will be updated, but it won’t be committed.

If you’re not sure what committed means (when we talk about databases), it just means that the data is not permanently saved. It allows you to see the changes in your session, and then you can make a conscious decision to update the changes permanently (committing) or undoing the changes (rolling back).

Now, this is the default behaviour. There are two separate steps to this – running the statement to change the data, and then a second command to commit the changes to the database.

SQL Developer allows you to change this default behaviour, so that the statement is run and the changes are saved in a single step – hence the term “auto commit”.

 

How Do I Change The Autocommit Setting in SQL Developer?

SQL Developer is pretty flexible when it comes to what you can change, and autocommit is no exception.

To find the autocommit setting, go to the Tools > Preferences.

SQL Developer Tools and Preferences

The Preferences window will appear.

SQL Developer Preferences

Click on the + icon next to Database to expand it.

SQL Developer Preferences

Then, click on Advanced.

SQL Developer Preferences Advanced

Here, you’ll see the option for Autocommit.

SQL Developer Preferences Autocommit

Click the checkbox to turn it on.

Here’s what the setting does:

ValueImpactCheckedAutocommit is on. SQL statements that change data will have their changes automatically committed to the database.UncheckedDefault. Autocommit is off. SQL statements that change data will not have their changes automatically committed to the database. A separate COMMIT action is needed.
What Are The Disadvantages of Autocommit?

Sure, turning on autocommit may save you time and confusion if you expect changes to be saved but they aren’t.

But there are some disadvantages.

You won’t be able to undo any of your changes by issuing a ROLLBACK statement, as you’d normally be able to do. If you run a DELETE or UPDATE statement, your changes are made permanently, and it’s much harder to get them back

It’s not impossible, though. If you have set up save points or database backups then you can restore from a backup, but it is a hassle.

Generally, I would prefer to have this autocommit option turned off in SQL Developer. The only exception would be if you’re running Oracle Express on your own computer and want to save some time with your SQL.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Categories: Development

Oracle RTRIM Function with Examples

Complete IT Professional - Thu, 2015-07-09 06:00

Oracle RTRIM FunctionThe Oracle RTRIM function is one of the most commonly used string manipulation functions in SQL. Learn more about it and see some examples in this article.

Purpose of the Oracle RTRIM Function

The Oracle RTRIM function removes all characters that you specify from the right side of a string.

This is most often used when you want to remove spaces from the right side of the string. However, it can be used for other characters as well, depending on the data.

 

Syntax

The syntax for the Oracle RTRIM function is:

RTRIM ( input_string, [trim_character])

 

Parameters

The parameters of the RTRIM function are:

  • input_string (mandatory): This is the string that will have the characters trimmed from it.
  • trim_string (optional): This is the value to trim or remove from the input_string. If it is omitted, a space character is used for trimming.

The R in RTRIM stands for Right, because it removes the characters from the right of the string.

Some other points to remember:

  • If the trim_string is a literal value, you need to include it inside single quotes. For example, to remove an underscore, you need to specify it as ‘_’
  • Both parameters can be any of the types CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB.
  • The string returned is a VARCHAR2 data type if the input_string was a character, and LOB if it was a LOB data type.
  • The trim_string can be more than one character
  • The function removes each individual value inside trim_string, not the string as a whole. See the Examples section below for more information.

 

Can You Use Oracle RTRIM with Special Characters?

Yes, you can. You can use exclamation points and many kinds of special characters as input.

You can also use unicode characters, such as å, as the function supports NVARCHAR2 types.

See the Examples section for more information.

 

Can You Use Oracle RTRIM with LTRIM?

Yes, you can. It works similar to the TRIM function.

You’ll need to enclose one within the other, and it doesn’t matter which one is outside and which is inside.

So, LTRIM(RTRIM(value)) works the same as RTRIM(LTRIM(value)).

See the Examples section for more information.

 

Can You Use Oracle RTRIM with CHAR or LOB Types?

Yes, the Oracle RTRIM can handle CHAR and LOB types. It can handle CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB data types.

 

Examples of the RTRIM Function

Here are some examples of the RTRIM function. I find that examples are the best way for me to learn about code, even with the explanation above.

 

Example 1

This example demonstrates a simple RTRIM with no trim value specified.

SELECT RTRIM('Complete IT Professional   ')
AS RTRIM_EXAMPLE FROM DUAL;

Result:

RTRIM_EXAMPLEComplete IT Professional

The extra spaces are removed from the original value.

 

Example 2

This example uses a specific value to trim.

SELECT RTRIM('Complete IT Professional___', '_')
AS RTRIM_EXAMPLE FROM DUAL;

Result:

RTRIM_EXAMPLEComplete IT Professional

The underscores are removed from the original value.

 

Example 3

This example uses RTRIM with several characters as the string to trim.

SELECT RTRIM('Complete IT Professional; ; ; ; ; ', ' ; ')
AS RTRIM_EXAMPLE FROM DUAL;

Result:

RTRIM_EXAMPLEComplete IT Professional

Both the spaces and semicolons are removed from the original value.

 

Example 4

This example uses RTRIM on data in a table, instead of providing a value.

SELECT country, RTRIM(country, 'A')
AS RTRIM_EXAMPLE FROM customers;

Result:

COUNTRYRTRIM_EXAMPLEUSAUSUSAUSCanadaCanadaUKUKUSAUS(null)(null)FranceFrance(null)(null)

The capital A is removed from the “USA” values. It remains on the end of “Canada” because it is a lower-case “a”.

 

Example 5

This example uses RTRIM on data in a table with several characters in the trim parameter.

SELECT full_address, RTRIM(full_address, 'et')
AS RTRIM_EXAMPLE FROM customers;
Result:
FULL_ADDRESSRTRIM_EXAMPLE10 Long Road10 Long Road50 Market Street50 Market Str201 Flinders Lane201 Flinders Lan8 Smith Street8 Smith Str14 Wellington Road14 Wellington Road80 Victoria Street80 Victoria Str5 Johnson St5 Johnson S155 Long Road155 Long Road
The letters “e” and “t” are removed from the right of the street names. Some values have been changed to “Str” because all occurrences of these letters are removed, not just those that end in “et”.
Example 6

This example uses RTRIM with 0 as the parameter.

SELECT RTRIM('Complete IT Professional00', 0)
AS RTRIM_EXAMPLE FROM DUAL;

Result:

RTRIM_EXAMPLEComplete IT Professional

The zeroes are removed from the original value.

 

Example 7

This example uses both LTRIM and RTRIM in the one expression.

SELECT LTRIM(RTRIM('___Complete IT Professional__', '_'), '_')
AS RTRIM_EXAMPLE FROM DUAL;

Result:

RTRIM_EXAMPLEComplete IT Professional

The underscores are removed from both sides of the original value.

 

Example 8

This example uses Unicode characers as the trim parameter.

SELECT RTRIM('Complete IT Professionalé', 'é')
AS RTRIM_EXAMPLE FROM DUAL;

Result:

RTRIM_EXAMPLEComplete IT Professional

The accented “e” character is removed from the original value.

 

Similar Functions

Some functions which are similar to the RTRIM function are:

  • TRIM – This function trims characters from both the left and the right of the specified value.
  • LTRIM – This function trims characters from the left of the specified value only.
  • SUBSTR – Extracts one value from a larger value. Not really a TRIM function but does something similar.
  • REPLACE – Replaces occurrences of one text value with another.

You can find a full list of Oracle functions here.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

Image courtesy of digitalart / FreeDigitalPhotos.net

Categories: Development

Pages

Subscribe to Oracle FAQ aggregator - Development