SAS Proc SQL supports basic ANSI syntax. As is common in SQL, SAS also implements other functions, partially because those of us that learned SAS first really wanted to use the same function like Upcase . Not so much the other way around though. A very few SQL ideas such a "LIKE" and "Contains" "Between" and "Is null" that only apply to Where statements are available in data step but generally there are differences.
There are complications with a few commonly named functions such as MAX and MIN which relate to aggregates of single variables over multiple records in SQL or data step summary of multiple variables within an observation.
In general: do not expect an SQL function to work in a data step and if it does not generate an error it may not result in what you expect.