2014-06-30 2 views
0

Sql имеет множество операндов, которые могут проверять значения и возвращать результаты на основе множества критериев. equals (=) является один из этих операндов и определяется Microsoft как то, чтоКак Sql сравнивает значения?

Сравнивает равенство двух выражений

Как SQL это сделать? Я бы предположил, что сравниваемые значения преобразуются в ascii или unciode, и эти значения сравниваются, а не введенные пользователем значения. Однако sql обычно по умолчанию нечувствителен к регистру, в то время как ascii, например, назначает разные числовые представления в зависимости от случая. Существует ли общий метод, который использует sql для сравнения значений? Является ли метод стандартным для разных платформ?

+2

вы должны спросить Microsoft, что они делают. но быстрое или грязное сравнение без учета регистра в системе, которая в противном случае чувствительна к регистру, может быть такой же простой, как «tolower (foo) = tolower (bar)». возможно, mysql использует 'toupper' вместо этого. никак не сказать, не глядя на фактический исходный код. –

+0

«Является ли метод стандартным для разных платформ?» - Учитывая различия в поведении двигателя, я бы предположил, что это разные платформы, и я был бы очень удивлен, узнав об этом иначе. – Twelfth

+3

Это сложнее, чем вы думаете. Место старта - это понимание коллабораций. , , http://msdn.microsoft.com/en-us/library/ms143726.aspx. –

ответ

0

Операторы сравнения проверяют, являются ли два выражения одинаковыми. Операторы сравнения могут использоваться для всех выражений, кроме выражений текстовых, текстовых или графических типов данных. Ниже приведено сравнение операторов сравнения Transact-SQL.

http://msdn.microsoft.com/en-IN/library/ms188074.aspx

ИЛИ

http://beginner-sql-tutorial.com/sql-like-in-operators.htm

+0

Это не совсем то, о чем я прошу. Я хотел бы знать, как они делают фактическое сравнение внутри страны. – Jenn

+0

привет Дженн, пожалуйста, объясните в деталях, что вы хотите ??? – user3786581

Смежные вопросы