Solved

Why I can't see a middle dash symbol while inserting chr(196) in a Table?  Why I see A with umlaut?

Posted on 2008-10-06
7
1,149 Views
Last Modified: 2013-12-07
Hello, I've noted that with the following command:

SQL> select chr(196) from DUAL;
Ä

... I obtain the A with umlaut, instead of middle dash:

How can I fix this?

I need to visualize the middle dash symbol in a graphic tool that uses Oracle DataBase.


SQL> select chr(196) from DUAL;

Ä
 

SQL>

Open in new window

0
Comment
Question by:CRISTIANO_CORRADI
  • 3
  • 3
7 Comments
 
LVL 3

Assisted Solution

by:johnsmith1962
johnsmith1962 earned 450 total points
ID: 22650449
Try chr(45) for dash.  196 is extended ascii, and Oracle doesnt use that.
0
 
LVL 2

Assisted Solution

by:kazman300
kazman300 earned 50 total points
ID: 22650478
Try
select chr(45) from dual

Does this give you the correct symbol?
A list of character values are to be found at
http://www.asciitable.com/
HTH
0
 

Author Comment

by:CRISTIANO_CORRADI
ID: 22651216
I didn't know that Oracle doen't support EXTENDED ASCII.

Thank you.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:CRISTIANO_CORRADI
ID: 22651235
chr(45) is useless because it lets a microspace between one dash and the following.

chr(196) doesn't leave microspaces between one chr(196) and the following chr(196):
0
 
LVL 3

Assisted Solution

by:johnsmith1962
johnsmith1962 earned 450 total points
ID: 22651369
What I meant was Oracle doesnt use that particular version of extended ascii.  Extended ASCII ias not standardized.  Standard ASCII is only 128 characters.

If there is a microspace, it is probably editor issue, not an Oracle issue, however you might try just running a loop from 0 to 256  and see what comes out.
0
 
LVL 3

Accepted Solution

by:
johnsmith1962 earned 450 total points
ID: 22651403
Here is the code by the way:

declare
  outchar char(1);
begin
dbms_output.enable(100000);
  for loopvar in 00..256 loop
    dbms_output.put_line(to_char(loopvar)||'  '||chr(loopvar));
  end loop;
end;
0
 

Author Closing Comment

by:CRISTIANO_CORRADI
ID: 31503416
Thank you very much for your kind help.
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

SQL Command Tool comes with APEX under SQL Workshop. It helps us to make changes on the database directly using a graphical user interface. This helps us writing any SQL/ PLSQL queries and execute it on the database and we can create any database ob…
Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now