Re: SELECT CAST(123 AS char) -> 1
От | Dean Gibson (DB Administrator) |
---|---|
Тема | Re: SELECT CAST(123 AS char) -> 1 |
Дата | |
Msg-id | 47B1EAA5.8060203@ultimeth.com обсуждение исходный текст |
Ответ на | Re: SELECT CAST(123 AS char) -> 1 (Ken Johanson <pg-user@kensystem.com>) |
Ответы |
Re: SELECT CAST(123 AS char) -> 1
|
Список | pgsql-general |
On 2008-02-12 07:30, Ken Johanson wrote:
I doubt that:
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db2.doc.sqlref/castsp.htm
http://msdn2.microsoft.com/en-us/library/aa258242(SQL.80).aspx
Your specific example is covered here:
http://vista.intersystems.com/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_cast
and here:
http://answers.yahoo.com/question/index?qid=20071017084134AA4mCJC
What is wrong with using VARCHAR for your purpose???????????????????????????? If you want the string auto-sized, that is what VARCHAR is for.
CHAR is, BY DEFINITION, a DECLARED fixed length.
I OFTEN use a cast of CHAR to get just the first character.
Sure, but you're a prime candidate for understanding the value of following the spec if you're trying to write software that works with multiple databases.
The spec has diminished in this (CAST without length) context:
a) following it produces an output which has no usefulness whatsoever (123 != 1)
b) all the other databases chose to not follow the spec in the context of cast and char with implicit length.
I doubt that:
http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db2.doc.sqlref/castsp.htm
http://msdn2.microsoft.com/en-us/library/aa258242(SQL.80).aspx
Your specific example is covered here:
http://vista.intersystems.com/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_cast
and here:
http://answers.yahoo.com/question/index?qid=20071017084134AA4mCJC
When the length is unqualified, a cast to char should one of:
1) failfast
2) auto-size to char-count (de facto)
3) pad to the max-length
What is wrong with using VARCHAR for your purpose???????????????????????????? If you want the string auto-sized, that is what VARCHAR is for.
CHAR is, BY DEFINITION, a DECLARED fixed length.
В списке pgsql-general по дате отправления: