Эффективный способ поиска результатов на SQL сервере - PullRequest
0 голосов
/ 07 мая 2020

Простите, что я полный новичок. Я пытаюсь понять, как работает этот код, уделяя особое внимание предложению where. Я пытаюсь понять, как использование > 'a' не падает на столбец varchar, когда в нем указано значение c в самом столбце?

select        
    t.ID,
    t.[Balance] as Balance,
    a.pmt as MinDue,
    'epf' as EPF,
    t.Column1 
from          
    id_table t
left join 
    id_daily_link a on a.ID = t.ID and a.id_suf = 0
where         
    t.Column1 > 'a'
    and t.[Suf] = 0

Результаты:

ID   Balance    Mindue   EPF    Column1 
---------------------------------------
1      65.44    122.00   epf    BNP3
2     336.20     21.59   epf    BNP3
3    8761         5.00   epf    BNP3
4      69.47      0.00   epf    BNP3
5      33.76      6.00   epf    BNP3
6      81.6      37.26   epf    BNP3
7     453.94      0.00   epf    BNP3
8     627.36     16.76   epf    BNP3
9       5.50     23.00   epf    BNP3
10    266.00    255.00   epf    BNP3

1 Ответ

0 голосов
/ 07 мая 2020

Операторы сравнения, такие как > и <, отлично работают со строками. Вообще нет проблем.

Порядок по умолчанию - это в основном "словарный" порядок. Конечно, детали становятся сложными, когда вы понимаете, что в мире существует множество разных языков, словарей и наборов символов. Для получения таких деталей вы можете начать с изучения сопоставлений .

Но основная идея c сказать, что 'a' < 'b' очень разумна и разрешена в SQL и большинстве языков программирования. .

...