Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Oracle, Oracle...

Oracle, Oracle...

Scheduled Pinned Locked Moved The Lounge
cssoraclecomhelp
15 Posts 9 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Offline
    Sander RosselS Offline
    Sander Rossel
    wrote on last edited by
    #1

    Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

    Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

    Regards, Sander

    M S W M K 6 Replies Last reply
    0
    • Sander RosselS Sander Rossel

      Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

      Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

      Regards, Sander

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #2

      According to SO: > Back in the olden days before there was a SQL standard, Oracle made the design decision that empty strings in VARCHAR/VARCHAR2 columns were NULL and that there was only one sense of NULL (there are relational theorists that would differentiate between data that has never been prompted for, data where the answer exists but is not known by the user, data where there is no answer, etc. all of which constitute some sense of NULL). > By the time that the SQL standard came around and agreed that NULL and the empty string were distinct entities, there were already Oracle users that had code that assumed the two were equivalent. So Oracle was basically left with the options of breaking existing code, violating the SQL standard, or introducing some sort of initialization parameter that would change the functionality of potentially large number of queries. Violating the SQL standard (IMHO) was the least disruptive of these three options. But even worse: > Oracle has left open the possibility that the VARCHAR data type would change in a future release to adhere to the SQL standard (which is why everyone uses VARCHAR2 in Oracle since that data type's behavior is guaranteed to remain the same going forward). So you're dealing with a legacy to support ancient implementations, a possible future where this will be changed, and no way to set a global configuration to change the behavior now for compliant implementations. Yeah, that is a real suck. Marc

      Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!

      Sander RosselS 1 Reply Last reply
      0
      • M Marc Clifton

        According to SO: > Back in the olden days before there was a SQL standard, Oracle made the design decision that empty strings in VARCHAR/VARCHAR2 columns were NULL and that there was only one sense of NULL (there are relational theorists that would differentiate between data that has never been prompted for, data where the answer exists but is not known by the user, data where there is no answer, etc. all of which constitute some sense of NULL). > By the time that the SQL standard came around and agreed that NULL and the empty string were distinct entities, there were already Oracle users that had code that assumed the two were equivalent. So Oracle was basically left with the options of breaking existing code, violating the SQL standard, or introducing some sort of initialization parameter that would change the functionality of potentially large number of queries. Violating the SQL standard (IMHO) was the least disruptive of these three options. But even worse: > Oracle has left open the possibility that the VARCHAR data type would change in a future release to adhere to the SQL standard (which is why everyone uses VARCHAR2 in Oracle since that data type's behavior is guaranteed to remain the same going forward). So you're dealing with a legacy to support ancient implementations, a possible future where this will be changed, and no way to set a global configuration to change the behavior now for compliant implementations. Yeah, that is a real suck. Marc

        Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!

        Sander RosselS Offline
        Sander RosselS Offline
        Sander Rossel
        wrote on last edited by
        #3

        Marc Clifton wrote:

        So you're dealing with a legacy to support ancient implementations, a possible future where this will be changed, and no way to set a global configuration to change the behavior now for compliant implementations. Yeah, that is a real suck.

        It really is :sigh:

        Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

        Regards, Sander

        T 1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

          Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

          Regards, Sander

          S Offline
          S Offline
          Slacker007
          wrote on last edited by
          #4

          I like Oracle, probably more than SQL Server. Just took some getting used to, for me, at least. My current projects use SQL Server. It's what we do. It's what I do. Oracle, SQL Server, Visual Studio, it's all good. :)

          1 Reply Last reply
          0
          • Sander RosselS Sander Rossel

            Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

            Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

            Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

            Regards, Sander

            W Offline
            W Offline
            W Balboos GHB
            wrote on last edited by
            #5

            If you had consulted an oracle you'd have foreseen the problems.

            "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

            "As far as we know, our computer has never had an undetected error." - Weisert

            "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

            Sander RosselS J 2 Replies Last reply
            0
            • Sander RosselS Sander Rossel

              Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

              Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

              Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

              Regards, Sander

              M Offline
              M Offline
              megaadam
              wrote on last edited by
              #6

              Being Christmas and all I suddenly thought of: Oracle Oracle on the wall Who's the fairest of them all? :|

              Life is too shor

              1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

                Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                Regards, Sander

                K Online
                K Online
                kmoorevs
                wrote on last edited by
                #7

                It's one of joys of development...the challenge! What should be simple almost never is! Good luck! :)

                "Go forth into the source" - Neal Morse

                Sander RosselS 1 Reply Last reply
                0
                • W W Balboos GHB

                  If you had consulted an oracle you'd have foreseen the problems.

                  "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                  "As far as we know, our computer has never had an undetected error." - Weisert

                  "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                  Sander RosselS Offline
                  Sander RosselS Offline
                  Sander Rossel
                  wrote on last edited by
                  #8

                  I did, but I had trouble making an ad-hoc query and then she wanted a package... X|

                  Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                  Regards, Sander

                  W 1 Reply Last reply
                  0
                  • K kmoorevs

                    It's one of joys of development...the challenge! What should be simple almost never is! Good luck! :)

                    "Go forth into the source" - Neal Morse

                    Sander RosselS Offline
                    Sander RosselS Offline
                    Sander Rossel
                    wrote on last edited by
                    #9

                    kmoorevs wrote:

                    What should be simple almost never is!

                    That pretty much sums up our profession! :thumbsup: :laugh:

                    Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                    Regards, Sander

                    1 Reply Last reply
                    0
                    • Sander RosselS Sander Rossel

                      I did, but I had trouble making an ad-hoc query and then she wanted a package... X|

                      Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                      Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                      Regards, Sander

                      W Offline
                      W Offline
                      W Balboos GHB
                      wrote on last edited by
                      #10

                      Sander Rossel wrote:

                      she wanted a package

                      That's generally true of women . . .

                      "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                      "As far as we know, our computer has never had an undetected error." - Weisert

                      "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                      1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        Good 'ol Oracle... :sigh: So I got this table with this column, VARCHAR2 NOT NULL, has been that way for years and it's used in applications, procedures and services. Now a recent change in the software and functionality allows this value to be empty. No problem, I'll just make it an empty string as to not break existing functionality (don't look at me like that, you've all done it!). Unfortunately in Oracle NULL == '' :omg: :wtf: :confused::~ X| :doh: :sigh: So now I have to change the table definition (and the software, services and procedures) to allow for NULL... :sigh: The more I work with Oracle the less I like it... :(

                        Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                        Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                        Regards, Sander

                        J Offline
                        J Offline
                        Jorgen Andersson
                        wrote on last edited by
                        #11

                        If it's of any consolation, it's even worse the other direction. If you're used to Oracle and have to work on SQL Server, it's like working with the cousin from the country side

                        Wrong is evil and must be defeated. - Jeff Ello

                        Sander RosselS 1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          Marc Clifton wrote:

                          So you're dealing with a legacy to support ancient implementations, a possible future where this will be changed, and no way to set a global configuration to change the behavior now for compliant implementations. Yeah, that is a real suck.

                          It really is :sigh:

                          Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                          Regards, Sander

                          T Offline
                          T Offline
                          TheGreatAndPowerfulOz
                          wrote on last edited by
                          #12

                          Well wipe your chin when you're done!

                          Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun

                          1 Reply Last reply
                          0
                          • J Jorgen Andersson

                            If it's of any consolation, it's even worse the other direction. If you're used to Oracle and have to work on SQL Server, it's like working with the cousin from the country side

                            Wrong is evil and must be defeated. - Jeff Ello

                            Sander RosselS Offline
                            Sander RosselS Offline
                            Sander Rossel
                            wrote on last edited by
                            #13

                            Now don't you go talkin' ill 'bout dat there SQL Server! And wot's wrong with ma cousin Betty Jo? We two gettin' married next summer! ;p

                            Visit my blog at Sander's bits - Writing the code you need. Or read my articles at my CodeProject profile.

                            Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                            Regards, Sander

                            1 Reply Last reply
                            0
                            • W W Balboos GHB

                              If you had consulted an oracle you'd have foreseen the problems.

                              "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                              "As far as we know, our computer has never had an undetected error." - Weisert

                              "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                              J Offline
                              J Offline
                              Jan Steyn
                              wrote on last edited by
                              #14

                              That's if you can afford the oracle's consultation fees

                              W 1 Reply Last reply
                              0
                              • J Jan Steyn

                                That's if you can afford the oracle's consultation fees

                                W Offline
                                W Offline
                                W Balboos GHB
                                wrote on last edited by
                                #15

                                Well, the only way to know for sure is to ask the oracle.*

                                "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                                "As far as we know, our computer has never had an undetected error." - Weisert

                                "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups