<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Value of SQL variable in IF statement using Spark SQL in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/68062#M33536</link>
    <description>&lt;P&gt;Since you are looking for a single value back, you can use the CASE function to achieve what you need.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;%sql&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SET&lt;/SPAN&gt; &lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarA &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;SELECT&lt;/SPAN&gt; &lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SET&lt;/SPAN&gt; &lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarB &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;SELECT&lt;/SPAN&gt; &lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SELECT&lt;/SPAN&gt; &lt;SPAN&gt;CASE&lt;/SPAN&gt; &lt;SPAN&gt;WHEN&lt;/SPAN&gt; &lt;SPAN&gt;$&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarA} &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;$&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarB} &lt;/SPAN&gt;&lt;SPAN&gt;THEN&lt;/SPAN&gt; &lt;SPAN&gt;'Equal'&lt;/SPAN&gt; &lt;SPAN&gt;ELSE&lt;/SPAN&gt; &lt;SPAN&gt;'Not equal'&lt;/SPAN&gt; &lt;SPAN&gt;END&lt;/SPAN&gt; &lt;SPAN&gt;AS&lt;/SPAN&gt;&lt;SPAN&gt; result&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 03 May 2024 14:54:38 GMT</pubDate>
    <dc:creator>Edthehead</dc:creator>
    <dc:date>2024-05-03T14:54:38Z</dc:date>
    <item>
      <title>Value of SQL variable in IF statement using Spark SQL</title>
      <link>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/39571#M27019</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;I am new to Spark SQL and would like to know if it possible to reproduce the below T-SQL query in Databricks. This is a sample query, but I want to determine if a query needs to be executed or not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;DECLARE
      @VariableA AS INT
,     @VariableB AS INT;

SELECT @VariableA = COUNT(*)
FROM [xxx].[TableExample]

SELECT @VariableB = COUNT(*) + 1
FROM [xxx].[TableExample]

IF (@VariableA = @VariableB)
BEGIN
      PRINT 'Equal'
END
ELSE
BEGIN
      PRINT 'Not equal'
END&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to use an IF statement to determine it. I already know how to set a variable using a SELECT statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;SET VariableA = SELECT COUNT(*) FROM [xxx].[TableExample];
SET VariableB = SELECT COUNT(*) + 1 FROM [xxx].[TableExample];&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Next I want to use&amp;nbsp;VariableA&amp;nbsp;and&amp;nbsp;VariableB in an IF statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;IF (${VariableA} = ${VariableB}, 'Equal', 'Not equal');&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is not working, because underwater this expression writes down the full SELECT statements of both variables instead of the results (numbers) to compare. When I write down only&amp;nbsp;&lt;EM&gt;${VariableA};&lt;/EM&gt;&amp;nbsp;it gives me the correct result (number).&lt;/P&gt;&lt;P&gt;How can I make this work in the IF statement?&lt;/P&gt;&lt;P&gt;So to be clear,&amp;nbsp;no PySpark&amp;nbsp;solution, but SQL (Spark). Thank you!&lt;/P&gt;</description>
      <pubDate>Fri, 11 Aug 2023 05:28:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/39571#M27019</guid>
      <dc:creator>RicardoS</dc:creator>
      <dc:date>2023-08-11T05:28:41Z</dc:date>
    </item>
    <item>
      <title>Re: Value of SQL variable in IF statement using Spark SQL</title>
      <link>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/39606#M27030</link>
      <description>&lt;P&gt;Hello ,&amp;nbsp;&amp;nbsp;I read your question I just tell you that if you try following **bleep** ,&amp;nbsp;&lt;/P&gt;&lt;P&gt;In Databricks, you can achieve similar conditional logic using Spark SQL. However, Spark SQL doesn't directly support variable assignment and manipulation in the same way as T-SQL. Instead, you would typically achieve your goal using DataFrames or SQL expressions. Here's how you can reproduce the logic you provided using Spark SQL:&lt;/P&gt;&lt;P&gt;-- Load the table as a DataFrame&lt;BR /&gt;val df = **bleep**.TableExample")&lt;/P&gt;&lt;P&gt;-- Calculate counts using DataFrames&lt;BR /&gt;val variableA = df.count()&lt;BR /&gt;val variableB = df.count() + 1&lt;/P&gt;&lt;P&gt;-- Use CASE WHEN for conditional logic&lt;BR /&gt;val result = spark.sql(&lt;BR /&gt;s"""&lt;BR /&gt;SELECT CASE WHEN $variableA = $variableB THEN 'Equal' ELSE 'Not equal' END AS result&lt;BR /&gt;"""&lt;BR /&gt;)&lt;/P&gt;&lt;P&gt;result.show()&lt;/P&gt;&lt;P&gt;****bleep** in a DataFrame.&lt;/P&gt;&lt;P&gt;Please note that Spark SQL does not directly support the use of variables like T-SQL does. Instead, you work with DataFrames and SQL expressions to achieve similar functionality. &lt;A href="https://www.myjdfaccount.net/" target="_self"&gt;&lt;FONT color="#FFFFFF"&gt;Myjdfaccount&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope you like my answer Thank you i always try to give my best.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;</description>
      <pubDate>Sat, 12 Aug 2023 05:15:38 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/39606#M27030</guid>
      <dc:creator>Suman1985</dc:creator>
      <dc:date>2023-08-12T05:15:38Z</dc:date>
    </item>
    <item>
      <title>Re: Value of SQL variable in IF statement using Spark SQL</title>
      <link>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/39614#M27035</link>
      <description>&lt;P&gt;Hi there,&lt;BR /&gt;&lt;BR /&gt;Thank you for your response.&lt;BR /&gt;&lt;BR /&gt;Using DataFrames and SQL expressions can still be done in a&amp;nbsp;&lt;EM&gt;Spark SQL&amp;nbsp;&lt;/EM&gt;type of Notebook or is this already&amp;nbsp;&lt;EM&gt;PySpark&lt;/EM&gt;?&lt;BR /&gt;&lt;BR /&gt;Thank you in advance!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Aug 2023 10:48:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/39614#M27035</guid>
      <dc:creator>RicardoS</dc:creator>
      <dc:date>2023-08-11T10:48:37Z</dc:date>
    </item>
    <item>
      <title>Re: Value of SQL variable in IF statement using Spark SQL</title>
      <link>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/68062#M33536</link>
      <description>&lt;P&gt;Since you are looking for a single value back, you can use the CASE function to achieve what you need.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;%sql&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SET&lt;/SPAN&gt; &lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarA &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;SELECT&lt;/SPAN&gt; &lt;SPAN&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SET&lt;/SPAN&gt; &lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarB &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;SELECT&lt;/SPAN&gt; &lt;SPAN&gt;7&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SELECT&lt;/SPAN&gt; &lt;SPAN&gt;CASE&lt;/SPAN&gt; &lt;SPAN&gt;WHEN&lt;/SPAN&gt; &lt;SPAN&gt;$&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarA} &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;$&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;var&lt;/SPAN&gt;&lt;SPAN&gt;.myvarB} &lt;/SPAN&gt;&lt;SPAN&gt;THEN&lt;/SPAN&gt; &lt;SPAN&gt;'Equal'&lt;/SPAN&gt; &lt;SPAN&gt;ELSE&lt;/SPAN&gt; &lt;SPAN&gt;'Not equal'&lt;/SPAN&gt; &lt;SPAN&gt;END&lt;/SPAN&gt; &lt;SPAN&gt;AS&lt;/SPAN&gt;&lt;SPAN&gt; result&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 May 2024 14:54:38 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/value-of-sql-variable-in-if-statement-using-spark-sql/m-p/68062#M33536</guid>
      <dc:creator>Edthehead</dc:creator>
      <dc:date>2024-05-03T14:54:38Z</dc:date>
    </item>
  </channel>
</rss>

