|
yes you are absolutly right, but how i can do it in oracle and mysql?
|
|
|
|
|
Faisal_Abdullah wrote: yes you are absolutly right, but how i can do it in oracle and mysql?
Get a book, follow some examples, learn, no one here is going to do your work for you.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Your code is subject to SQL Injection[^]. You should fix that ASAP.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hi,
I want to ask about indexing.
I have employee table and department table with employee_id and department_id primary keys. Also I have department_id in the employee table.
Do I set the employee.department_id as a foreign key for a better performance?
Thanks,
Jassim
Technology News @ www.JassimRahma.com
modified 13-Mar-14 15:58pm.
|
|
|
|
|
Creating a foreign key is required for refrential integrity and is normally a good practice. It is also true that a foreign key has a say inperformance. To make it better what you can do is to create index on the foreign keys.
.AK.
|
|
|
|
|
I did indexed it but do I still need (or is it better) to declare it as foreign key?
Technology News @ www.JassimRahma.com
|
|
|
|
|
As I mentioned creating a foreign key constraint is required for refrential integrety and normally is a good practice. It do have an impact on performance which can be reduced by creating an index. If you craete the index on foreign key it will reduce the lookups.
.AK.
|
|
|
|
|
so declaring it as foreign key is a good practice and will have an impact on the performance but after declaring it do you still recommend to index it or declaring is enough?
Technology News @ www.JassimRahma.com
|
|
|
|
|
Creating a foreign key is not mandatory but is advised to create. Here[^] is a link which tells about the importance of it.
Now here[^] is another article which tells about refrential integrity and performance degradation which might give you a bit more idea about this.
.AK.
|
|
|
|
|
Great
Thanks
Technology News @ www.JassimRahma.com
|
|
|
|
|
|
Hello,
in some table, how can i perform a group by not by the column string but only by the letter of that column
thanks
nelsonpaixao@yahoo.com.br
trying to help & get help
|
|
|
|
|
Yes.
GROUP BY SUBSTR([COLUMN], 1, 1)
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
thanks
nelsonpaixao@yahoo.com.br
trying to help & get help
|
|
|
|
|
i have this periods of experience i want to calculate the sum or total period of these periods
2004-01-06 2004-07-05
2004-07-07 2004-11-30
2010-07-01 2010-07-29
2011-06-12 2011-07-28
2012-07-22 2012-08-20
2013-10-17 2015-05-17
Lost & Forgotten
|
|
|
|
|
If you provide the query you are trying to get working, you are more likely to get help.
What is the underlying database? SQLServer, Oracle, Postgres, etc?
|
|
|
|
|
sql
i made a query calculate the datediff in days and sumed all days now i want to convert this days (integer) to years months and days
thanks
Lost & Forgotten
|
|
|
|
|
ahmad_yossef wrote: i want to convert this days (integer) to years months and days
Well, break it down.. if you have the number of days, how many days in a year? Let's assume 365; so number of years in int(number of days / 365).
Months... let's assume 30 days on average... Months = int((number of days - years * 365) / 30)
And days are then number of days - years * 365 - months * 30
If that doesn't work, better define what you're after.
Given the sample dates you provided, what are the values you calculated for years, months and days?
|
|
|
|
|
thanks for your replay
but i face a problem when i have a number like 1456
the query will be like that
SELECT dayss, dayss / 365 AS years, (dayss - dayss / 365 * 365) / 30 AS Months, (dayss - dayss / 365 * 365) - (dayss - dayss / 365 * 365) / 30 * 30 AS days
FROM dbo.lv_npay_tmp3
which will return
days1 years months days
1456 3 12 1
and it should be
days1 years months days
1456 4 0 1
i hope you got me
thanks alot
Lost & Forgotten
|
|
|
|
|
1456 == (3 × 365) + 361 .
That's clearly not 4 years and 1 day.
The problem is that you're assuming 365 days per year, but only 30 days per month. (30 × 12) = 360 , so you've lost five days.
You need to assume (365 / 12) = 30.4166666... days per month, which will give you an answer of 3 years, 11 months and 27 days.
SELECT
dayss,
dayss / 365 As years,
Cast(Floor((dayss % 365) * 12 / 365.0) As int) As Months,
(dayss % 365) - Cast(Floor((dayss % 365) * 12 / 365.0) * 365.0 / 12 As int) As days
FROM
dbo.lv_npay_tmp3
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
|
i am sorry
Lost & Forgotten
|
|
|
|
|
Click on your name and you can find all your previous messages.
|
|
|
|
|
I will just say that this sort of exercise seldom ends well without business requirements.
I am not going to analyze all possible interpretations but I will provide and example from your own data.
2013-10-17 2015-05-17
A business person asks you for how many years in that. All of the following are possible answers.
- One. 2013-10 to 2014-10 is one year, but 2014-10 to 2015-05 isn't.
- Zero. Because 2013-10 to 2014-10 is one year but it isn't 2014-10 yet
- Three. 2013, 2014, 2015 = 3.
- Two. 2013-10 to 2014-10 is one year, but 2014-10 to 2015-05 is partial, so round up to get 2.
- Five. The dates are supposed to be based on the contract period not the annual service dates (which the above dates are.)
- 17. Because the person that actually wants this wants a count of months covered.
|
|
|
|
|
Hello Guys
I have installed one software that works with local ms access database.
If you remove that database of course the software displays the warning that the database is missing.
Can i migrate this database to Sql server so the program will work with Sql and not with Ms Access anymore????
|
|
|
|