Azure SQL Database is billed hourly independently if you are using it or not, unless you change the service tier of the database to Serverless that service tier is charged by the minute, and you can configure it to get auto paused after one hour of inactivity. The other Azure SQL flavors cannot be paused. If you rarely use the database or use it for QA purposes once in a while, then Serverless is the best option to save money.
You can also export your databases (as bacpac) to Azure Blob Storage and drop your Azure SQL logical servers. If you need your databases in the future, you just import the bacpac into Azure SQL again. You will pay very little money with Azure Blob Storage.
I you are using a SQL Server VM on Azure, having the VM stopped does no mean you are free of charges. This does not release the lease that the VM has on the underlying hardware, which means the hardware is unavailable for other customers. In this state, the virtual machine is still billed for. In addition, while the VM is shut down, there is still a storage cost for the disk that is holding the virtual hard drive file, as well as any other data storage disks you may have created, as you are still consuming file storage. Furthermore, a static Public IP address will still be billed if the VM is shut down or even deleted, unless you delete the static public IP address. Finally, regardless of the state of your virtual machine, if the VM is using Azure Bastion, Azure Backup or Azure Defender, you will be charged for these additional services.
This free course can really help you manage Azure costs.