Mysql
 sql >> база данни >  >> RDS >> Mysql

Винаги ли 1 е равно на '1' в SQL?

SELECT 1='1' дава TRUE от '1' е правилен конструктор за INT във всички познати ми реализации.

Но SQL използва стриктно въвеждане, вижте това:

# SELECT 1=CAST('1' AS TEXT);ГРЕШКА:операторът не съществува:integer =textLINE 1:SELECT 1=CAST('1' AS TEXT); ^СЪВЕТ:Нито един оператор не съответства на даденото име и тип(ове) на аргумента. Може да се наложи да добавите изрични преобразувания на типове. 

По отношение на стандарта (SQL 92, 99 и 2003) изглежда, че е грешен:

<предварителен> <литерал> ::=<числов литерал със знак> | <общ литерал> <общ литерал> ::=<литерал на символен низ> | <национален символен низов литерал> | <битов низов литерал> | <шестнадесетичен низов литерал> | <литерал за дата и час> | <интервален литерал> <числов литерал със знак> ::=[ <знак> ] <числов литерал без знак> <числов литерал без знак> ::=<точен числов литерал> | <приблизителен числов литерал> <точен числов литерал> ::=<цяло число без знак> [ <точка> [ <цяло число без знак> ] ] | <точка> <цяло число без знак> <цяло число без знак> ::=<цифра>... <литерал на символен низ> ::=[ <въвеждащ><спецификация на набор от знаци> ] <цитат> [ <представяне на знаци>... ] [ { ... [ <представяне на знаци>... ] }... ]

защото се съдържа само в , <шестнадесетичен низов литерал> , ... но не и в числови литерали...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за избор на публикации, принадлежащи към множество категории

  2. Показване на отделни стойности с агрегати

  3. Как да избера оператор <select> от база данни?

  4. Създайте поле за коментар в PHP и MySql за всеки идентификатор

  5. jQuery + PHP Autocomplete