Обсуждение: string functions and operators
Hello,
I have a dilema and I was hoping someone here may offer guidance or assistance. I bet this is a very simple question for someone out there but I am having problems coming up with a solution. Here it is...
suppose I have a field with the following values:
77.1
77.2
134.1
134.2
134.3
5.1
5.2
I need two seperate SELECT queries. One would return the following values (everything left of the decimal point)
77
77
134
134
5
5
The second query would return all of the values to the right of the decimal point:
1
2
1
2
2
3
1
2
Now, I have been using the following information (although very Greek) to try to solve this problem:
And I have been playing around with the syntax of the following:
substring('112.5' from '%#"___.#"_' for '#')
but the aforementioned is not quite working out... can someone please show me a string function that will produce the desired results?
Thanks!
~n
Neil Stlyz wrote: > Hello, > > I have a dilema and I was hoping someone here may offer guidance or > assistance. I bet this is a very simple question for someone out there > but I am having problems coming up with a solution. Here it is... > > suppose I have a field with the following values: > > 77.1 > 77.2 > 134.1 > 134.2 > 134.3 > 5.1 > 5.2 > > I need two seperate SELECT queries. One would return the following > values (everything left of the decimal point) > > 77 > 77 > 134 > 134 > 5 > 5 > > The second query would return all of the values to the right of the > decimal point: > > 1 > 2 > 1 > 2 > 3 > 1 > 2 silly me says.. SELECT FLOOR(x), x-FLOOR(x) FROM TABLE; at least for numeric values. but, in string space, ummmm... select split_part(x,'.',1), split_part(x,'.',2) from table; or select regexp_replace(x, '\.[0-9]*$',''), regexp_replace(x,'^[0-9]*\.','') from table; or god knows how many others.