SQL Server:将日期与字符串进行比较,不带前导零

Ran*_*ndy 2 t-sql

这是旧的DateTime转换黑洞:

tbl_a.dob (varchar) = "1/1/1980"
tbl_b.dob (datetime) = 01/01/1980 00:00:00
Run Code Online (Sandbox Code Playgroud)

这不起作用:

select * 
from tbl_a, tbl_b
where tbl_a.dob = convert(varchar, dob, 101)
Run Code Online (Sandbox Code Playgroud)

因为样式101在日期时间添加了租赁零!"1980年1月1日"

Joe*_*lli 5

你应该能够朝着相反的方向前进,将varchar转换为日期时间.

select *
    from tbl_a a
        inner join tbl_b b
            on cast(a.dob as datetime) = b.dob
Run Code Online (Sandbox Code Playgroud)