# SQL Server Rule: SML006
| | |
|----|----|
| Assembly | TSQLSmellSCA |
| Namespace | TSQLSmellSCA |
| Class | TSQLSmellSCA6 |
## Rule Information
| | |
|----|----|
| Id | SML006 |
| Friendly Name | Avoid Explicit Conversion of Columnar data |
| Category | CodeSmells |
| Ignorable | false |
| Applicable Types | Model |
## Description
Avoid Explicit Conversion of Columnar data
### Examples
```sql
CREATE PROCEDURE dbo.ConvertDateSingleCond
AS
SET NOCOUNT ON;
SELECT DateCol,CONVERT(varchar(255),DateCol,120)
FROM [dbo].TestTableSSDT
WHERE CONVERT(varchar(255),DateCol,120)='2009-04-13 12:59:05';
-- SML006
```
```sql
CREATE PROCEDURE dbo.ConvertDateMultipleCond
AS
SET NOCOUNT ON;
SELECT DateCol,CONVERT(varchar(255),DateCol,120)
FROM [dbo].[TestTableSSDT]
WHERE CONVERT(varchar(255),DateCol,120)='2009-04-13 12:59:05'
AND CONVERT(varchar(255),DateCol,120)='2009-04-13 12:59:05'
-- SML006
```
```sql
CREATE PROCEDURE dbo.ConvertInt
AS
Set nocount on;
SELECT Col1,CONVERT(varchar(255),DateCol,120),'$(Test1)' as newcol
FROM [dbo].[TestTableSSDT]
WHERE CAST(Col1 AS VARCHAR(10)) ='22'
-- SML006
```
```sql
CREATE PROCEDURE dbo.ConvertInt2
AS
SET NOCOUNT ON
SELECT CONVERT(varchar(255),DateCol,120)
FROM dbo.TestTableSSDT
WHERE '22' =CAST(Col1 AS VARCHAR(10))
-- SML006
```
```sql
Create Table dbo.Parent
(
ParentId integer primary key,
SomeData char(1)
)
go
Create Table dbo.Child
(
ChildID integer primary key,
ParentId integer constraint fkParentChild references dbo.Parent(ParentID),
SomeData char(1)
)
go
alter table dbo.Child nocheck constraint fkParentChild
-- SML006, SRD0004
```
<sub><sup>Generated by a tool</sup></sub>